【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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM