我一直在Vim中学习新的命令,但我相信每个人都偶尔会学习一些新东西。我最近才知道:
Zz, zt, zb -位置光标在中间,顶部或底部的屏幕
还有什么其他有用或优雅的命令是你希望很久以前就学会的?
我一直在Vim中学习新的命令,但我相信每个人都偶尔会学习一些新东西。我最近才知道:
Zz, zt, zb -位置光标在中间,顶部或底部的屏幕
还有什么其他有用或优雅的命令是你希望很久以前就学会的?
当前回答
在Bash的命令行上使用Vim绑定:
set -o vi
在其他使用readline的程序中,按Ctrl + Alt + J从Emacs绑定切换到Vim绑定。
其他回答
我知道这并不完全是Vim。但是我发现cscope集成真的很好,它在侵入Linux内核时帮助了我很多。
按Ctrl + \, g到达函数的定义 Ctrl + \, s查找函数、宏或变量的所有用法。
我最近学到的令人惊叹的技巧是一种进行复杂搜索和替换的方法。在过去,我经常有一个非常复杂的regexp来进行替换,但它不起作用。有一个更好的方法:
:set incsearch " I have this in .vimrc
/my complicated regexp " Highlighted as you enter characters
:%s//replace with this/ " You don't have to type it again
这里的“技巧”(找不到更好的词)是使用搜索来创建regexp(在输入字符时'incsearch'突出显示它),然后在替换中使用空模式:空模式默认为最后一个搜索模式。
例子:
/blue\(\d\+\)
:%s//red\1/
等价于:
:%s/blue\(\d\+\)/red\1/
See:
:help 'incsearch'
:help :substitute
^r^w以命令模式将单词粘贴到光标下。
它在使用grep或replace命令时非常有用。
^X-F使用当前目录中的文件名完成。不再从终端复制/粘贴或痛苦的双重检查。
^X-P使用当前文件中的单词完成
:set scrollbind强制一个缓冲区与另一个缓冲区一起滚动。例如,把你的窗户分成两个垂直的窗格。在每个文件中加载一个文件(可能是同一文件的不同版本)。Do:设置每个scrollbind。现在,当你滚动其中一个窗格时,两个窗格将一起滚动。比较文件的理想选择。
Gi切换到插入模式,将光标放置在先前的相同位置。