我一直在Vim中学习新的命令,但我相信每个人都偶尔会学习一些新东西。我最近才知道:
Zz, zt, zb -位置光标在中间,顶部或底部的屏幕
还有什么其他有用或优雅的命令是你希望很久以前就学会的?
我一直在Vim中学习新的命令,但我相信每个人都偶尔会学习一些新东西。我最近才知道:
Zz, zt, zb -位置光标在中间,顶部或底部的屏幕
还有什么其他有用或优雅的命令是你希望很久以前就学会的?
当前回答
:b[缓冲区名称的任何部分]来切换缓冲区。因此,如果你有两个缓冲区," someotherfile1 .txt"和"someotherfile2.txt",你可以切换到第二个,只需输入":b 2.t<enter>"。它还支持制表符补全,尽管这不是必需的。
说到制表符补全,设置:set wildmode=full wildmenu也非常有用。它为命令模式提供了完全的选项卡补全功能,在使用它时还提供了非常有用的ncurses风格菜单,其中包含所有可能的匹配。
其他回答
vimcryption
vim -x文件。txt
您将被要求输入密码,编辑并保存。现在,无论何时在vi中再次打开该文件,都必须输入密码才能查看。
使用选项卡打开多个文件
:tabe filepath
在打开的文件之间导航
gt and gT or :tabn and :tabp
保存打开的会话,以便稍后可以返回打开的文件列表
:mksession session_file_name.vim
打开已创建的会话
vim -S session_file_name.vim
立即关闭所有文件
:qa
这是我最近学到的另一个命令
autocmd
它允许你在一个事件上运行命令,所以你可以在保存文件时使用如下命令:
:autocmd BufWritePost *.cpp :make
set confirm允许你优雅地用:q退出Vim。您不需要使用ZZ或其他盲目保存或丢弃所有更改的笨拙机制。
我刚刚在浏览Vim帮助时发现了这个:
:help index
这将把您带到一个单独的(可搜索的!)页面,其中包含所有模式的所有命令。
所以,如果你知道你要记住/学习的命令是从某个按键开始或涉及到某个按键,你可以搜索并浏览所有的可能性。或者你可以浏览你感兴趣的模式,看看/学习编辑的可能性。
我都数不清有多少次我只是按Ctrl + R或者其他键,然后得到了第一个东西,当然这不是你想要的。在我看来,这比:helpgrep好多了。
然后进入。vimrc:
nnoremap <silent> <F1> :help normal-index<CR>
inoremap <silent> <F1> <C-O>:help insert-index<CR>
:help仍然会让你进入默认的F1页面。
我经常创建用于编辑任务的函数,并将它们存储在.vimrc文件中,这样我就可以再次找到它们。
例如,读取已转换为单行的.NET调用栈:
function! FixCallStacks()
:%s;\[NLN\];\r;g
:%s;\[TAB\];\t;g
endfunction