标签: vim

在ifstream输入期间vim文件末尾的新行

我为我正在做的作业制作了一些测试文件,但我不确定为什么vim会在文件末尾给我额外的字符.

所以我创建了一个包含A,B和C的"ABC"文件,最后没有新行.所以像

vim ABC

AAAABBBCC
Run Code Online (Sandbox Code Playgroud)

我输出了部分读取代码

 46    while(1) {
 47       ch = infile.get();
 48       if(infile.eof()) {
 49          break;
 50       }
 51       cout << '~' << ch << '~' << (int)ch << '~' << endl;
 52       v[(int)ch]++;
 53    }
Run Code Online (Sandbox Code Playgroud)

我得到了

~A~65~
~A~65~
~A~65~
~A~65~
~A~65~
~B~66~
~B~66~
~B~66~
~C~67~
~C~67~
~
~10~
Run Code Online (Sandbox Code Playgroud)

我不知道为什么我在输入文件中输入换行符

c++ vim fstream

0
推荐指数
1
解决办法
210
查看次数

如何在VIM中替换表达式

我想在替换搜索到的表达式.

例如:

我用的表达式搜索:/0x....- >它将搜索格式的所有字符串 0x0001,0x0002,0x1234,等.

现在,我想的东西,如更换上面的搜索项目0x0001_mystring,0x0002_mystring,0x1234_mystring等等.

regex vim

0
推荐指数
1
解决办法
117
查看次数

升级到Vim 7.4后撤消不工作

我刚刚升级到Vim的7.4,但它看起来像当我被删除的单词或句子xD,并试图解开它,我不能与消息撤消:Already at newest change.重做也没有用.为什么?我已经使用OS X内置的Vim(7.3)多年,并且没有与undo/redo相关的问题.

那么我该如何解决呢?或者在7.4中撤消和重做已经不存在了?最后,将我的文件恢复到删除之前的状态是否可行?

vim

0
推荐指数
1
解决办法
494
查看次数

用于重复下一个字符的Vim扫描线; 不工作

我能够扫描线与下一个字符f{char},并重复;或反向用,.

但是当我使用t{char}它时,它不起作用f{char}.它找到第一个但不能重复它;.

为什么是这样?


更新

我的 .vimrc

execute pathogen#infect()

syntax on
"filetype plugin indent on

set expandtab
set shiftwidth=2
set softtabstop=2

colorscheme darkblue

set cursorline
hi Comment ctermfg=103
hi CursorLine term=none cterm=none ctermbg=17 guibg=236

set hlsearch
set number
set nowrap
set omnifunc=pythoncomplete#Complete
set omnifunc=javascriptcomplete#CompleteJS
set omnifunc=htmlcomplete#CompleteTags
set omnifunc=csscomplete#CompleteCSS
set omnifunc=xmlcomplete#CompleteTags
set omnifunc=phpcomplete#CompletePHP
set cmdheight=1
set laststatus=2
set statusline=%<%F\ %m%r%h%w%{'['.(&fenc!=''?&fenc:&enc).']['.&ff.']'}%=%l,\ [TYPE=%Y]\ [ASCII=\%03.3b]\ [HEX=\%02.2B]\ %c%V%8P

nmap <C-l> <C-l>:nohlsearch<CR> …
Run Code Online (Sandbox Code Playgroud)

vim

0
推荐指数
1
解决办法
158
查看次数

vim:更改可视块模式的行为以强制突出显示列

我是vim的新手,这对我来说很难谷歌因为我不知道如何表达我想做的事情.

使用此屏幕截图作为参考: 在此输入图像描述

我想强调以下文本块: 在此输入图像描述

有没有办法强制vim突出显示这样的任意文本块?

我可以在第8行到第11行的正方形中突出显示文本,但是当我向下移动到结束括号时,它只突出显示一列.

从这里: 在此输入图像描述

如果我向下移动一行,它只会选择第一个屏幕截图中的文本.

vim

0
推荐指数
1
解决办法
98
查看次数

关于四处游览的建议

我已经使用vim几天了,我真的很喜欢键绑定和单独的模式.我真的希望能够在使用各种快捷方式等时提高效率.它必须提供.

例如,我有一个视觉工作室的vim扩展,我有这行代码:

SqlCommand sqlcmd = new SqlCommand();
Run Code Online (Sandbox Code Playgroud)

我想进入大括号,所以我尝试了5W,这把我带到第一个支架,然后我按下'L'进入并且'我'进入插入模式.

我不觉得我正在利用它的潜力,有没有人有任何建议,他们会更快地做到这一点?或建议我可以看到的东西,以便使用vim提供的编辑效率更高,我将非常感激.

vim text-editor key-bindings visual-studio

0
推荐指数
1
解决办法
362
查看次数

正则表达式删除第一个之后的所有单词

在文本文件中,对于每一行,删除从空格开始到行尾的字符.

例如:在包含两行的文件中:

hello world
foo  good good
Run Code Online (Sandbox Code Playgroud)

处理后,文件看起来像

hello    
foo
Run Code Online (Sandbox Code Playgroud)

我试过了^\+\s,但似乎只处理了行尾的空格

regex vim

0
推荐指数
1
解决办法
131
查看次数

Vim搜索并替换数字

我正在使用VIM搜索和替换类似的东西

:0,$s/min-width:\s\d+/min-width: 61111/gc

但它表示没有发现任何模式,即使我非常清楚地看到有类似的字符串min-width: 768px.如果我将我的vim命令更改为

:0,$s/min-width:\s768/min-width: 61111/gc

它有效.怎么\d没被认出来?

vim

0
推荐指数
1
解决办法
327
查看次数

如何解读这个VimGolf的答案?

VimGolf的挑战

从:

Make the pairs of lines match up by making each second line same as first:

# Appending text:
The name "Vim" is an acronym for "Vi IMproved"
The name "Vim" is an acronym for

# Editing text:
Vim is a text editor originally released by Bram Moolenaar in 1991 for the Amiga
Trivia: Vim is a text editor released by Bram Moolenaar in 1991 for the Amiga

# Deleting text:
Vim has a vi compatibility mode
Vim has …
Run Code Online (Sandbox Code Playgroud)

vim

0
推荐指数
1
解决办法
165
查看次数

交换所有出现的两个字符串

比方说,我有一个文档,其中所有括号都被翻转:

Lorem)ipsum(dolor)坐(amet

我想纠正它:

Lorem(ipsum)dolor(坐)amet

当然我不能用两个替换进行交换; 首先用全部替换全部(,)然后全部)替换(,因为那样我最终会得到:

Lorem(ipsum(dolor(坐着)

请提供一种在vim中为任何一对字符串执行此操作的方法.

更新:
感谢ernix提供了一个很好的答案.对于那些想知道tr函数是什么的人:http:
//vimdoc.sourceforge.net/htmldoc/eval.html#tr()

vim

0
推荐指数
1
解决办法
143
查看次数

标签 统计

vim ×10

regex ×2

c++ ×1

fstream ×1

key-bindings ×1

text-editor ×1

visual-studio ×1