vim介紹php
vim是linux和類UNIX下一個很是好用的文本編輯器,在linux下開發的人員要熟練掌握vim經常使用命令。html
vim和vi的關係linux
vim實際上是vi的功能加強版,vim = vi + IMproved。sql
多了一下功能:vim
1.多級撤銷功能。markdown
2.語法加亮和自動補全。網絡
3.支持多種插件。編輯器
4.經過網絡協議(HTTP/SSH)編輯文件。spa
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編輯器設置失效。
除了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