【linux】vim常用操作及vim插件的安装使用
vim介绍
vim是linux和类UNIX下一个非常好用的文本编辑器,在linux下开发的人员要熟练掌握vim常用命令。
vim和vi的关系
vim其实是vi的功能增强版,vim = vi + IMproved。
多了一下功能:
1.多级撤销功能。
2.语法加亮和自动补全。
3.支持多种插件。
4.通过网络协议(HTTP/SSH)编辑文件。
5.多文件同时编辑。
6.可以编辑压缩格式的文件。
vim三种操作模式
vim编辑器有三种工作模式:
1.命令行模式(command Mode):
该模式下可以通过输入命令来移动屏幕上的光标去对文本里字符,行进行删除,复制,移动等操作。
2.插入模式(Insert Mode)
该模式下可进行文本的编辑,按住i进入该模式,在按住ESC回到命令模式。
3.低行模式(Last Line Mode)
低行模式下文本不可编辑,一般这个模式下的命令都是用":"开始,比如保存文件:wq,或者搜索字符串。
vim常用命令操作
1. 打开在第n行
vim +143 filename.txt
2. 只读模式打开
vim -R /tmp/a.txt
3.强制保存
命令模式 wq!
4.转到当前行尾和行首
命令模式 按大A跳至行尾
按0 跳至行首
5.定位到多少行
命令模式 :set nu 然后 :n n就是想定位的行数
6.复制多行到别的行
命令模式 :16,30 copy 35 (复制16行到30行的内容到35行)
7.复制一行为多行,如下图:
在左边图中,命令模式下输入
Y10p
就会多复制一模一样的10行。
8.移动行
命令模式 :38 move 50 (把38行内容移动到50行)
9.跳转文件头部和末尾
在命令模式下 gg 跳转文件首行 在命令模式下 G 跳转文件末尾
10.清空文件内容
在命令模式下,先执行 gg 这里是跳至文件首行 再执行:dG 这样就清空了整个文件! 或者退出vim 然后使用 echo "" >> filename
11.撤销上一步修改
当你修改一个文件。比如添加一些内容,如果你想撤销 按ESC退出编辑模式 在按小u 就可以撤销上一步操作
12.打开文件直接进入文件末尾
vim + filename
13.删除行部分内容
命令模式 大C 会删除光标所在字符及其后面改行所有内容
14.删除当前行
dd 删除当前行,并把删除的行存到剪贴板里
15.复制粘贴
命令模式 yy复制当前行 然后依然在改行在按 p 会在该行下面多出一行该行的内容
16.复制光标以上的所有行
y1G或ygg
17.翻屏
命令模式 ctrl+f: 下翻一屏 ctrl+b: 上翻一屏 ctrl+e: 向下滚动一行 ctrl+y: 向上滚动一行
18.快速移动光标
命令模式下
nj : 往当前行下移动n行,n是数字。比如5j就是往下移动光标5行。
nl: 往右移动n列,n是数字。比如5l就是光标往右移动5列。
nh: 往左移动n列,n是数字。比如5h就是光标往左移动5列。
nk: 往上移动n行,n是数字。比如5k就是光标往上移动5列。
19.忽略大小写搜索。
默认情况下 vim 的查找都是区分大小写的,但有时候不需要确认搜索内容大小写情况, 这种情况下就要用到大小写忽略。
命令模式下,输入下面命令,就可以按需要区分是否大小写。
:set ic(ignorecase 的缩写) 忽略大小写
:set noic(noignorecase 的缩写) 不忽略大小写
注意:退出vim编辑器设置失效。
20.撤销上一步操作
在命令模式中按u就是对上一步操作的撤销
除了vim本身功能,还可以安装vim的插件NERDTree 。
vim插件可以去这个网址去下载 http://www.vim.org/scripts/script.php?script_id=1658
[root@localhost local]# wget -O nerd_tree.zip https://www.vim.org/scripts/download_script.php?src_id=23731 [root@localhost local]# unzip nerd_tree.zip -d ./nerd_tree [root@localhost vim]# ll 总用量 72 drwxr-xr-x 8 root root 4096 4月 28 14:48 nerd_tree -rw-r--r-- 1 root root 66208 4月 28 14:48 nerd_tree.zip [root@localhost vim]# cd nerd_tree [root@localhost nerd_tree]# ll 总用量 20 drwxr-xr-x 3 root root 40 4月 28 14:48 autoload -rw-r--r-- 1 root root 6320 11月 14 2015 CHANGELOG drwxr-xr-x 2 root root 26 4月 28 14:48 doc drwxr-xr-x 3 root root 21 4月 28 14:48 lib -rw------- 1 root root 474 7月 5 2014 LICENCE drwxr-xr-x 2 root root 48 4月 28 14:48 nerdtree_plugin drwxr-xr-x 2 root root 26 4月 28 14:48 plugin -rw-r--r-- 1 root root 4551 11月 12 2015 README.markdown drwxr-xr-x 2 root root 25 4月 28 14:48 syntax
下载解压缩好之后,把plugin / NERD_tree.vim 和 doc / NERD_tree.txt 分别拷贝到 ~/.vim/plugm 和 ~/.vim/doc目录下。
[root@localhost nerd_tree]# cp plugin/NERD_tree.vim ~/.vim/plugin cp: 无法创建普通文件"/root/.vim/plugin": 没有那个文件或目录 [root@localhost nerd_tree]# mkdir -p ~/.vim/plugin [root@localhost nerd_tree]# cp plugin/NERD_tree.vim ~/.vim/plugin [root@localhost nerd_tree]# mkdir -p ~/.vim/doc [root@localhost nerd_tree]# cp doc/NERD_tree.txt ~/.vim/doc/ [root@localhost nerd_tree]# ls ~/.vim/doc NERD_tree.txt
[root@localhost nerd_tree]# ls ~/.vim doc plugin
然后将下面一些文件夹也复制到~/.vim目录下。
[root@localhost nerd_tree]# cp -r {autoload,lib,nerdtree_plugin,syntax} ~/.vim/ 您在 /var/spool/mail/root 中有邮件 [root@localhost nerd_tree]# ls ~/.vim autoload doc lib nerdtree_plugin plugin syntax
然后直接输入vim,会弹出下面画面
然后在输入:NERDTree就可以把NERDTree调出来。显示出当前目录的树形结构。
如果想看哪个文件就移动上下键到所在文件或者目录按下enter,如果是目录就列出目录中的文件,如果是文件会打开文件,右边显示文件内容。在如果想切回来就按下ctrl+2次w,就可以回到左侧目录列表。
想退出NERDTree 就按下 :qa
关于NERDTree 插件更多使用方法可以查看这篇文章 https://linux.cn/article-7424-1.html