科百科
当前位置: 首页 范文大全

vim教程初级(一文让你对vim产生兴趣)

时间:2023-06-02 作者: 小编 阅读量: 1 栏目名: 范文大全

常用命令我觉得vim命令是一个让人又爱又恨的东西,突然从Windows下的鼠标操作切换到vim的Linux操作会感觉很不方便,有的时候甚至会误操作导致很大的坑。插件工欲善其事必先利其器,无论是做Python还是c开发,如果有一个好的IDE,那么效率将会得到大大的提升,如果想把vim用于轻量级IDE,那么插件是必不可少的,以下以vim配置Python3为例。

vim教程初级?我觉得vim命令是一个让人又爱又恨的东西,突然从Windows下的鼠标操作切换到vim的Linux操作会感觉很不方便,有的时候甚至会误操作导致很大的坑但是用习惯后再回到window下回发现会不自觉的使用这些命令,可见,这些命令的确带来了便携性,vim命令有很多,一下子也记不完,这里我就总结一些我个人常用的命令,今天小编就来聊一聊关于vim教程初级?接下来我们就一起去研究一下吧!

vim教程初级

引言:现在有很多成熟的IDE,pycharm、vs code、atom、codeblocks,不同软件在不同方向各有优势,但是当使用服务器时这些桌面版IDE就很难发挥优势,推荐vim的理由是:当时用无桌面版Linux时免不了与vim打交道,如果在windows下开发好用版本控制软件提交到服务器下这样太麻烦,用sftp上传到服务器也需要多余的操作,使用vim能够让操作更加简洁方便,同时配置一些插件能够让vim自动补全、换行缩进等等,而且我觉得自动补全Python第三方库的速度能够达到pycharm级别,远比vs code要快,希望这篇文章能够让大家对vim产生兴趣,后期会不断分享计算机视觉、强化学习、优化算法、工具使用等方面的内容,感兴趣的可以关注一下微信公众号,会定期分享一些技术和工具,“平凡而诗意”。

常用命令

我觉得vim命令是一个让人又爱又恨的东西,突然从Windows下的鼠标操作切换到vim的Linux操作会感觉很不方便,有的时候甚至会误操作导致很大的坑。但是用习惯后再回到window下回发现会不自觉的使用这些命令,可见,这些命令的确带来了便携性,vim命令有很多,一下子也记不完,这里我就总结一些我个人常用的命令。

1. 注释

手动输入注释符:

单行注释:可以直接在行前添加注释符比如 #

多行注释:ctrl v 进入视图模式, 然后shift i,输入注释符,最后按Esc

也可以使用替换命令,详细的请看第3条:

# 注释,以Python为例# 注释m到n行:m,ns/^/#/g # 解除注释:m,ns/^#//g# 注释整个文档:1,$s/^/#/g# 还有更高效快速的方法:%s/^/#/g

2. 多窗口

写代码过程中要打开多个窗口,如果反复关闭开启会很麻烦,vim可以使用多窗口

直接打开多个文件:

vim -On file1 file2 ...

已经打开一个文件之后再大开一个文件:

# 可以打开本地文件:e file# 也可以打开远程文件:e ftp://host/*

多窗口切换文件:

下一个文件:bn上一个文件:bp

在另一窗口分割打开文件:

:split file

多窗口之间的切换:

# 依次切换ctrl w w # 双击w# 指定方向切换先ctrl w,松开,然后按上下左右键选择

3. 查找与替换

# 查找字符串/str# 替换# 替换当前行,其中g是替换标志,代表global的意思,也可以换成c:需要确认;i:大小写不敏感;I:大小写敏感:s/old/new/g# 全局替换:%s/old/new/g# 替换特定行:m,ns/old/new/g# 选择区域替换:'<,'>s/old/new/g #先visual模式下选择要替换的区域

4. 与shell交互

临时退出:ctrl z回到vim:fg执行shell命令:!# 命令模式下:! ls ./

5. 插入

# 在当前行首插入I # 也就是shift i# 在当前位置行尾插入A# 在当前字符所在位置插入i# 在当前字符之后插入a# 在当前行的前一行插入O # shifto# 在当前行的后一行插入o

6. 撤销和重做

# 撤销操作u# 撤销对整行的操作U# 重做(把撤销的动作撤销)ctrl r

7. 移动

# 移动到文本头部gg# 移动到尾部G #Windows下同shift g# 向前移动一个单词w # 2w移动两个单词# 向后移动一个单词b# 移动到行首0# 移动到行尾$# 移动到段落头部(# 移动到段落尾部)

8. 对比差异

这一点和beyond compare类似:

vim -diff file1 file2

属性设置

可以对vim属性设置,使得每次打开vim时都能起作用,基本的属性设置比如高亮、缩进等,先贴上我的设置:

1. 进入home路径下

cd ~

2. 创建.vimrc文件

touch .vimrcvim .vimrc

3. 粘贴以下内容

set nocompatibleset numberset icset hlsearchset encoding=utf-8set fileencodings=utf-8,ucs-bom,GB2312,big5set autoindentset smartindentset scrolloff=2set showmatchset shiftwidth=4set tabstop=4set showmatchset cursorlineset autoreadsyntax on

这样保存退出后就生效了,网上有很多这一类的教程,创建.vimrc的作用是保证每次启动vim都可以起作用。


插件

工欲善其事必先利其器,无论是做Python还是c开发,如果有一个好的IDE,那么效率将会得到大大的提升,如果想把vim用于轻量级IDE,那么插件是必不可少的,以下以vim配置Python3为例。

1. 检查vim版本是否符合

vim --version

在输出的信息检查以下是否有' python3'字眼,如果没有说明vim版本太低不支持,需要卸载重新安装vim。

2. 安装Vundle插件管理器

个人认为Vundle 就如同maven之于Java、npm之于js、pip之于Python,安装了Vundle后方便后续安装插件。

首先克隆到指定目录:

git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim# 如果克隆失败可以参考我的另外一篇文章,或者查看我的知乎专栏“”Lee先森的技术站”

Thinker:git一些报错解决方法[每一项都亲测,保证不踩坑]

其次,在~/.vimrc中输入如下内容:

set nocompatible " requiredfiletype off " required" set the runtime path to include Vundle and initializeset rtp =~/.vim/bundle/Vundle.vimcall vundle#begin()" alternatively, pass a path where Vundle should install Plugins"call vundle#begin('~/some/path/here')" let Vundle manage Vundle, requiredPlugin 'gmarik/Vundle.vim'" Add all your plugins here (note older versions of Vundle used Bundle instead of Plugin)" All of your Plugins must be added before the following linecall vundle#end() " requiredfiletype plugin indent on " required上述 Add all your plugins here (note older versions of Vundle used Bundle instead of Plugin)下面的一段空白处是用于添加其他插件。

3. 安装插件

首推YouCompleteMe,这个插件用于自动补全,速度补全速度可以达到pycharm的级别,但是这个插件安装十分麻烦,可以参考我的另外一篇文章:

另一篇文章可以查看我的知乎专栏“Lee先森的技术站”

Thinker:vim插件YouCompleteMe安装

然后在~/.vimrc中添加

Plugin 'Valloric/YouCompleteMe'

保存退出重新打开,在命令模式下输入:PluginInstall即可安装,左下角显示Done!即为完成,可以在紧接着下面添加如下设置:

let g:ycm_global_ycm_extra_conf = "~/.vim/bundle/YouCompleteMe/cpp/ycm/.ycm_extra_conf.py"let g:ycm_key_invoke_completion = ''let g:ycm_min_num_identifier_candidate_chars = 2let g:ycm_goto_buffer_command = 'horizontal-split'let g:ycm_seed_identifiers_with_syntax=1map <F2> :YcmCompleter GoTo<CR> # 按F2跳转到定义处let g:ycm_error_symbol = '>>'let g:ycm_warning_symbol = '>*'

其次是Autoformat这是一个自动格式化代码的工具,事先需要安装pep8:

pip install autopep8

其次在vimrc空白处添加:

Plugin 'Chiel92/vim-autoformat'nnoremap <F6> :Autoformat<CR> # 按F6自动格式化let g:autoformat_autoindent = 0let g:autoformat_retab = 0let g:autoformat_remove_trailing_spaces = 0

保存并退出,重新进入vim,命令模式下输入:PluginInstall

还有nerdtree这是一个目录树插件,可以给代码添加目录:

Plugin 'https://github.com/scrooloose/nerdtree'nnoremap <F3> :NERDTreeToggle<CR> # 按F3显示或隐藏目录autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif

还有indentLine,这是一个缩进线插件,对于Python这种缩进要求很严格的语言来说很重要:

Plugin 'Yggdroot/indentLine'let g:indentLine_char='┆'let g:indentLine_enabled = 1注意:把上述内容添加到vimrc后需要关闭后重新打开,在命令模式下输入:PluginInstall,也可以用:Plugin '插件',例如:Plugin 'Yggdroot/indentLine'

总结:首先是自己做个笔记,如果能够帮到大家,当然十分荣幸;其次,好与不好,仁者见仁智者见智,每个人都会根据自己的需求和判断进行选择,vim插件管理器有很多,vundle、vim-plug、pathogen、vim addon manager等等,每一个都用过,也都对比过,vundle在高阶插件方面的确存在不足,但是基本使用大同小异,我觉得满足我使用足够了,而且我觉得使用比较简洁方便,各位看到的可以根据自己的需求选择插件管理器。

    推荐阅读
  • 维生素a少的水果有哪些(这些水果维生素a的含量相对来说较少)

    苹果主要营养成分:苹果含丰富糖类,蛋白质,脂肪,维生素C,果胶,单宁酸,有机酸以及钙,磷,铁,钾等矿物质。葡萄葡萄含少量维生素a,它含有丰富维他命C及E,为皮肤提供抗氧化保护,对抗自由基和减轻皮肤受外来环境的伤害。葡萄本身含有维他命A、BC和蛋白质、氨基酸、脂肪及多种矿物质,而且性质温和,适合各种类型的肌肤。橘子500克橘子中含有维生素C250毫克,但是维生素A只有2.7毫克、维生素B1的含量居水果之冠。

  • 柏拉图式的爱情经典(真正的柏拉图式的爱恋)

    《致命切割》是近来,我看的最为令我触动的一部电影。在《致命切割》里边,我是那样惊异,对于那惊异我也只能用它的对白来表达。警车载着荷枪实弹的警察赶来了。“我希望是你,而不是那些腐败的警察,阿泰,你要帮我,让你来结束这一切,杀了我吧,阿泰,让一切罪恶都随我的死一起湮灭吧!好吗?阿泰。”阿泰颤抖着,呜咽抽泣,他说“我做不到,我做不到···”枪声响起,一阵更为悲痛的哭喊爆发出来。

  • 中药美容配方大全(中药美容配方大全书)

    光滑肌肤配方落葵子膏配方:落葵子、白蜜各适量。制作方法:将白术加入水中浸泡1个月之后取汁,放置1夜之后再加入米酒。白嫩肌肤配方牡蛎膏配方:牡蛎90克,土瓜根30克,蜂蜜适量。冬瓜子方配方:冬瓜子30克,天门冬15克,蜂蜜适量。润肌茶配方:生山楂20克,大生地12克,蔗糖少许。去除皱纹配方葳蕤丸配方:葳蕤根1千克。

  • 青柠檬怎么吃

    2、把准备好的新鲜青柠檬,用清水洗净,涂抹适量食用盐,再用清水冲洗干净,晾干表面的水分,把它从中间切开,去掉果肉中间的种子,把处理好的青柠檬放入的干净的不粘锅中,加入准备好的冰糖和清水,一起加热煮开,再用中小火慢慢熬,等锅中的汤汁熬到十分浓稠以后,关火降温取出以后装入干净玻璃瓶,密封保存需要时取出适量直接用温水冲调就可以。

  • 写日记需要常用到的单词(写日记千万别直译成)

    写日记需要常用到的单词?今天皮卡丘就来介绍两组。从定义上讲,“日记”是作者的个人记录,反映自己的感受。通常写日记的人使用的都是空白簿——专门为这个目的而设计的空白簿。日记是一本用来写东西的书,它已经是一个制造出来的东西了,你不是在write日记,而是在日记上面write东西。②I'vekeptadiaryfortwelveyearsnow.到现在我记日记已有12年了。直接check字典的话,其实就是检查字典有没有什么问题。

  • 东北酱茄子(东北酱茄子怎么做)

    东北酱茄子食材:茄子2个、土豆1个、葱半根、香菜1根/无、青椒2个/无、豆瓣酱3勺。煮软了,用铲子一压,水分就没了。[多放油,茄子吃油]放酱:茄子炸一会,把豆瓣酱放入锅中,翻几个个,让酱均匀一些。加水:锅内加水,烧开,小火炖15分钟左右。青椒、香菜碎入锅:茄子碾碎后,将青椒、香菜沫入锅搅拌,闻到青菜香味,盛出来。

  • mac更换登录背景(如何修改Mac电脑登录界面的背景)

    每台Mac电脑在登录界面都有各种图片当背景,如果看烦了每天都是一样的登录界面,我们可以给Mac电脑的登录界面换一张图片,下面分享在Mac电脑中修改登录界面的背景教程。

  • 为什么会黄体功能不全(黄体功能不全有哪些原因)

    所以,即便是黄体功能不全的女性患者正常的受孕以后,也是很难维持正常受孕,从而会引发流产、习惯性流产现象的发生。黄体功能不全的检查1、孕激素检测在月经18~28天测血液内孕激素。其含量低于正常则预示黄体功能不全。

  • 牛肉芹菜蛋花粥的家常做法(怎么做牛肉芹菜蛋花粥)

    牛肉芹菜蛋花粥的家常做法用料:白粥、牛肉末200g、芹菜1根、鸡蛋1个、青椒1个(小)、姜适量、香菜适量、油、盐适量、香油适量、黑胡椒碎少许、鸡精少许、葱适量。白粥提前煮好,小火保持沸腾。另起一个锅,热油,放入姜末爆香。牛肉末炒至断生后,放入芹菜末、青椒末,调入适量的盐,炒匀。煮沸后,缓缓倒入Step3的蛋液,使其成蛋花。停火,撒上葱花、黑胡椒碎,淋上香油,捞匀。盛出后,根据个人喜好加入香菜即可。

  • ds最后的疯狂(完美主义DS那些不可忽视的细节)

    不知是否是设计师有意而为之,DS5一共使用了多达12块玻璃来组成车身上部的设计。LED大灯不是第一次出现在DS车型上,在DS4S正式亮相之前DS5早已使用上了LED大灯。DS4S作为DS第四款国产车型上市之初便主打精致动感卖点,DS4S保留了DS家族化特征元素的同时成为了第二款搭载全LED大灯设计的国产车型。除此之外DS4S的全LED大灯系统还是DS品牌首款贴有DSLEDVISION的车灯。DS追求极致渴望完美的精神再次彰显无疑。