如果某些行太长,将强制换行。
例如,通常情况下,一条长线将如下所示
1 first line
2 this is the long second line of the file
3 third line.
但是,如果vim的窗口太窄,它将如下所示
1 first line
2 this is the long
second line of the file
3 third line
问题就是由此而产生的。
让我们假设vim光标位于“第三行”中“t”之前。如果我输入'k',光标将移动到's‘之前的’文件的第二行‘。之后,如果我再次输入'k‘,光标将移动到
使用Vim时,我试图将光标移动到代码块的中间,但我不知道该如何操作:
//cursor is for instance here.
{
//or here
//some code
// .... **** move cursor here ****
//some more code
}
最后的想法是有一个快捷方式来保存当前位置,将光标移动到代码块的中间,将当前行设置到屏幕的中间(使用快捷方式"zz"),然后移回保存的位置。
我更喜欢一个内置的vim函数,但是插件也可以工作。
编辑:这是针对c++的,所以我想把它放在括号{}中。
在我的.vimrc
noremap z w
当我检查映射时,:map z仅显示:
z * w
当我按下z时,我的光标会按预期移动(移到下一个单词)。但是,当我尝试使用诸如diz或ciz之类的东西时,什么也没有发生。在我输入的时候,屏幕底部会出现di和ci,但是一旦我输入z,Vim就会兴高采烈地闲置着。diw和ciw仍然像预期的那样工作。
我还需要做什么?有没有我不知道的映射模式?
我在~/.cache/jhbuild/build/<project>里面
我使用以下命令生成了标记:
$ make ctags
如果我运行
$ vim -t main
我得到了
E433: No hay archivo de etiquetas
E426: No se encontró la etiqueta: main
但是正在做(停用vim的所有配置):
$ vim -u NONE -t main
vim正确打开带有main标签的文件。
我可以找到这种行为的罪魁祸首,但我发现了一些奇怪的东西:
在启用了所有插件的情况下,目录自动完成功能不适用于此目录的路径
:e /home/a
我有以下HTML:
1 <div>
2 <p>This is a paragraph</p>
3 <p>This is the second paragraph</p>
4 </div>
如果我的光标没有靠近上面的项目,并尝试拉出
:1yatThe::1yitThe的内部内容,第一段的:2yit的内部内容
上述命令都不起作用。知道我如何在不移动光标的情况下提取内部/外部div元素(#极端性)吗?
谢谢
我同时使用supertab和snipmate插件。假设我正在使用snipmate创建一个if语句结构。在if语句中添加完语句后,如何快速将光标移动到if语句后面。例如:
if [ $a = "b" ]; then
bla;
fi
如果我的光标在分号上,并且我处于插入模式。要将光标移动到'fi‘之后的行,我可以执行的最少操作次数是多少?如果我按Tab键,SuperTab键只会打开一个自动完成窗口。
谢谢
在Vim中,我通常通过删除行(使用dd或可视行模式)移动行,将光标移动到新位置,然后将它们放在p中:
first
second
third
如果我的光标在第二行,我可以使用ddp向下移动它:
first
third
second
但是在Emacs +邪恶模式下,将行放回不像预期的那样工作:例如,如果当我点击p时,我的光标位于第三位的i上,那么我的结果是:
first
thisecondrd
我如何使Emacs +邪恶模式插入新的行时,把整个拉线?