首頁  >  文章  >  系統教程  >  linux下vim的使用以及高效率的技巧

linux下vim的使用以及高效率的技巧

王林
王林轉載
2024-02-10 19:57:171008瀏覽

今天來介紹以下linux下vim的使用以及高效率的技巧

linux下vim的使用以及高效率的技巧

目錄

#一.關於vim編輯器

二.vim編輯器的模式

三.一般模式下的基礎運算

四.V模式(列模式)的基礎運算

五.命令模式下的基礎操作

六.自訂vim環境

七.vim同時開啟多個檔案

八.比較兩個檔案的內容

一.關於vim編輯器

Vim是一個類似於Vi的著名的功能強大、高度可自訂的文字編輯器,在Vi的基礎上改進和增加了很多特性。 VIM是自由軟體。 vim可以當作

vi的升級版本,他可以用多種顏色的方式來顯示一些特殊的資訊。

[root@node5 ~]# rpm -qf `which vim`
vim-enhanced-7.4.160-5.el7.x86_64
[root@node5 ~]# rpm -qf `which vi`
vim-minimal-7.4.160-2.el7.x86_64

#從輸出可以看到,vim是vi的增加版,最明顯的差異就是vim可以語法加亮,它完全相容vi

二.vim編輯器的模式

1.vim編輯器有三種模式,第一次進入是一般模式,左下角出現「Insert」 是編輯模式,輸入:是命令列模式。

從編輯模式到命令列模式怎麼切換?編輯模式->esc->一般模式->: ->指令模式
一般模式怎樣進入編輯模式?按a或i或o或A或I或O

image-20201010173449952
image-20201010173559526

2.總結:vim如何進入其它模式?

 a A o O i I 都是可以进行插入,编辑模式
 : 进入命令行模式
 v 进入可视模式
 ctrl+v 进入可视块模式
 V 进入可视行模式
 R 擦除、改写,进入替换模式
 你进入以上模式后,想要退出 ,按esc

三.一般模式下的基礎運算

i 當前字元之前插入 (遊標前)

#
I 行首插入 (行首)
a 当前字符之后插入 (光标后)
A 行尾插入(行尾)
o下一行插入 (另起一行)
O上一行插入(上一行插入)
x 向后删除一个字符 等同于delete
X 向前删除一个字符
u 撤销一步 每按一次就撤销一次
r 替换, "r"命令不是一个操作符命令。它等待你键入下一个字符用以替换当前光标下的那个字符。"r"命令前辍以一个命令记数是将多个字符都替换为即将输入的那个字符。要把一个字符替换为一个换行符使用"r"。它会删除一个字符并插入一个换行符。在此处使用命令记数只会删除指定个数的字符:"4r"将把4个字符替换为一个换行符。

#遊標定位

#
hjkl 左下上右
0 和 home键表示切换到行首, $和end键表示切换到行尾
gg 快速定位到文档的首行 , G定位到未行
3gg 或者 3G 快速定位到第3行
/string(字符串) -----找到或定位你要找的单词或内容,如果相符内容比较多,我们可以通过N、n来进行向上向下查找,并且vi会对查找到的内容进行高亮显示,取消用 :noh
/^d ----^意思表示以什么开头 ,,查找以字母d开头的内容
/t$ -----$意思表示以什么结尾,,查找以字母t结尾的内容
vim + a.txt 打开文件后,光标会自动位于文件的最后一行

#對文字進行編輯操作

#删除、复制、粘贴、撤销
y 复制(以字符为单位):表示对单个字符进行复制,如果要复制整行,用yy(以行为单位),"y"操作符命令会把文本复制到一个寄存器3中。然后可以用"p"命令把它取回。因为"y"是一个操作符命令,所以你可以用"yw"来复制一个word. 同样可以使用命令记数。如下例中用"y2w"命令复制两个word,"yy"命令复制一整行,"Y"也是复制整行的内容,复制当前光标至行尾的命令是"y$"。

复制N行: Nyy ,比如: 2yy ,表示复制2行
dd(删除,以行为单位,删除当前光标所在行)
删除N行: Ndd ,比如: 2dd ,表示删除2行
p : P粘贴
剪切: dd
x 删除光标所在位置的字符
D 从光标处删除到行尾
u 撤销操作
ctrl+r 还原撤销过的操作,将做过的撤销操作再还原回去,也就是说撤销前是什么样,再还原成什么样
r 替换,或者说用来修改一个字符, "r"命令不是一个操作符命令。它等待你键入下一个字符用以替换当前光标下的那个字符。"r"命令前辍以一个命令记数是将多个字符都替换为即将输入的那个字符。要把一个字符替换为一个换行符使用"r"。它会删除一个字符并插入一个换行符。在此处使用命令记数只会删除指定个数的字符:"4r"将把4个字符替换为一个换行符。

四.V模式(列模式)的基礎運算

#1.進入v模式 移動遊標選擇區域,編程的時候進行多行註解的步驟:

 ctrl+v 进入列编辑模式
 向下或向上移动光标,把需要注释、编辑的行的开头选中起来
 如果需要删除的话,就直接输入x键进行删除
 如果要添加内容,就按大写的I
 再插入注释符或者你需要插入的符号,比如"#"
 再按Esc,就会全部注释或添加了

2.刪除:再按ctrl v 進入列編輯模式;向下或向上移動遊標 ;選取註解部分,然後按d, 就會刪除註解符號。

五.指令模式下的基礎運算

:w 保存 save
:w! 强制保存
:q 没有进行任何修改,退出 quit
:q! 修改了,不保存,强制退出
:wq 保存并退出
:wq! 强制保存并退出
:x 保存退出

#呼叫外部檔案或指令

假設:我想要寫入我的網卡MAC位址,我要查看一下,目前在vim編輯文件,照著寫。這樣好麻煩。
在命令列模式下操作:

:!ifconfig 调用系统命令
!+命令
读取其他文件。(把其他文件中的内容追加到当前文档中)
:r /etc/hosts

#文字替換

#
#格式:范围(其中%所有内容) s分隔符 旧的内容 分隔符 新的内容(分隔符可以自定义)
#默认是每一行的第一个符合要求的词(/g全部)
:1,3 s/bin/xuegod #替换第1到3行中出现的第一个bin进行替换为xuegod
:1,3 s/bin/xuegod/g #替换第1到3行中查找到所有的bin进行替换为xuegod
:3 s/xue/aaaaa #只把第3行中内容替换了
:% s/do/xuegod/g #将文本中所有的do替换成xuegod
:% s/do/xuegod/gi #将文本中所有的do替换成xuegod, 并且忽略do的大小写
:% s@a@b@g #将文本中所有的a替换成b

六.自訂vim環境

可以依照自己的喜好自訂vim環境。

#暫時設定vim環境

:set nu #设置行号
:set nonu #取消设置行号
:noh #取消高亮显示

#永久設定vim環境

[root@node5 ~]#vim /etc/vimrc #设置后会影响到系统所有的用户
[root@node5 ~]#vim ~/.vimrc #在用户的家目录下,创建一个.vimrc。这样只影响到某一个用户,没有自己建一个
例:
[root@node5 ~]# cat /root/.vimrc
set nu

七.vim同時開啟多個檔案

1.以上下形式,開啟兩個文檔,使用ctrl ww在兩個文檔之間進行切換編輯

#小寫的o上下分割畫面

[root@node5 ~]#vim -o /etc/passwd /etc/hosts

2.以左右方式開啟兩個文檔,使用ctrl ww在兩個文檔之間進行切換編輯

#大寫O左右分割畫面

[root@node5 ~]#vim -o /etc/passwd /etc/hosts

八.比較兩個檔案的內容

比較兩個檔案的內容有兩種方法:diff和vimdiff。

[root@node5 ~]#cp /etc/passwd mima.txt
[root@node5 ~]#echo aaa >> mima.txt
[root@node5 ~]#diff /etc/passwd mima.txt
40a41
> aaa
[root@node5 ~]#vimdiff /etc/passwd mima.txt

致力於一條龍式的為您解決問題

以上是linux下vim的使用以及高效率的技巧的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:lxlinux.net。如有侵權,請聯絡admin@php.cn刪除