成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

學會這21條,你離Vim大神就不遠了!

系統 Linux
這里我就自己日常有使用過的 Vim 指令做一個總結,總共分成 21 點,建議有想學習 Vim 的同學,可以按照文章配合搜索引擎多多嘗試,相信你會慢慢喜歡上 Vim。

 我本人是 Vim 的重度使用者,就因為喜歡上這種雙手不離鍵盤就可以操控一切的feel,Vim 可以讓我對文本的操作更加精準、高效。

對于未使用過 Vim 的朋友來說,可能還無法體會到這種感覺。由于使用 Vim 有一定的學習成本,只有做到非常熟練的程度才能感受到它帶來的快捷。

這里我就自己日常有使用過的 Vim 指令做一個總結,總共分成 21 點,建議有想學習 Vim 的同學,可以按照文章配合搜索引擎多多嘗試,相信你會慢慢喜歡上 Vim。

本文更傾向于有一定基礎的同學,因為內容很多,如果寫得太詳細的話,會變得相當啰嗦。

1、vim模式

正常模式(按Esc或Ctrl+[進入) 左下角顯示文件名或為空

插入模式(按i進入) 左下角顯示--INSERT--

可視模式(按v進入) 左下角顯示--VISUAL--

2、打開文件

# 打開單個文件

vim file    

# 同時打開多個文件

vim file1 file2..  

# 在vim窗口中打開一個新文件

:open [file]       

【舉個例子】

# 當前打開1.txt,做了一些編輯沒保存

:open!         放棄這些修改,并重新打開未修改的文件

# 當前打開1.txt,做了一些編輯并保存

:open 2.txt    直接退出對1.txt的編輯,直接打開2.txt編輯,省了退出:wq再重新vim 2.txt的步驟

# 打開遠程文件,比如ftp或者share folder

:e ftp://192.168.10.76/abc.txt

:e \qadrive\test\1.txt

# 以只讀形式打開文件,但是仍然可以使用 :wq! 寫入

vim -R file 

# 強制性關閉修改功能,無法使用 :wq! 寫入

vim -M file 

3、插入命令

i 在當前位置生前插入

I 在當前行首插入

a 在當前位置后插入

A 在當前行尾插入

o 在當前行之后插入一行

O 在當前行之前插入一行

4、查找命令

最簡單的查找

/text  查找text,按n健查找下一個,按N健查找前一個。

?text  查找text,反向查找,按n健查找下一個,按N健查找前一個。

vim中有一些特殊字符在查找時需要轉義  .*[]^%/?~$

:set ignorecase  忽略大小寫的查找

:set noignorecase  不忽略大小寫的查找

快速查找,不需要手打字符即可查找

*        向后(下)尋找游標所在處的單詞

#        向前(上)尋找游標所在處的單詞

以上兩種查找,n,N 的繼續查找命令依然可以適用

精準查找:匹配單詞查找

如果文本中有這三個單詞

hellohelloworldhellopython

那我使用 /hello ,這三個詞都會匹配到。

有沒有辦法實現精準查找呢?你可以使用

/hello\>

精準查找:匹配行首、行末

# hello位于行首

/^hello

# world位于行末

/world$

5、替換命令

~  反轉游標字母大小寫

r<字母>           將當前字符替換為所寫字母

R<字母><字母>...  連續替換字母

cc    替換整行(就是刪除當前行,并在下一行插入)

cw    替換一個單詞(就是刪除一個單詞,就進入插入模式),前提是游標處于單詞第一個字母(可用b定位)

C     (大寫C)替換至行尾(和D有所區別,D是刪除(剪切)至行尾,C是刪除至行位并進入插入模式)

:s/old/new/    用old替換new,替換當前行的第一個匹配

:s/old/new/g   用old替換new,替換當前行的所有匹配

:%s/old/new/   用old替換new,替換所有行的第一個匹配

:%s/old/new/g  用old替換new,替換整個文件的所有匹配

:10,20 s/^/ /g 在第10行至第20行每行前面加四個空格,用于縮進。

ddp    交換光標所在行和其下緊鄰的一行。

6、撤銷與重做

u 撤銷(Undo)

U 撤銷對整行的操作

Ctrl + r 重做(Redo),即撤銷的撤銷。

7、刪除命令

需要說明的是,vim 其實并沒有單純的刪除命令,下面你理解為剪切更加準確。

以字符為單位刪除

x   刪除當前字符

3x  刪除當前字符3次

X   刪除當前字符的前一個字符。

3X  刪除當前光標向前三個字符

dl  刪除當前字符, dl=x

dh  刪除前一個字符,X=dh

D   刪除當前字符至行尾。D=d$

d$  刪除當前字符至行尾

d^  刪除當前字符之前至行首

以單詞為單位刪除

dw  刪除當前字符到單詞尾

daw 刪除當前字符所在單詞

以行為單位刪除

dd  刪除當前行

dj  刪除下一行

dk  刪除上一行

dgg  刪除當前行至文檔首部

d1G  刪除當前行至文檔首部

dG   刪除當前行至文檔尾部

kdgg  刪除當前行之前所有行(不包括當前行)

jdG   刪除當前行之后所有行(不包括當前行)

10d     刪除當前行開始的10行。

:1,10d  刪除1-10行

:11,$d  刪除11行及以后所有的行

:1,$d   刪除所有行

J     刪除兩行之間的空行,實際上是合并兩行。

8、復制粘貼

普通模式中使用y復制

yy   復制游標所在的整行(3yy表示復制3行)

y^   復制至行首,或y0。不含光標所在處字符。

y$   復制至行尾。含光標所在處字符。

yw   復制一個單詞。

y2w  復制兩個單詞。

yG   復制至文本末。

y1G  復制至文本開頭。

普通模式中使用p粘貼

p(小寫):代表粘貼至光標后(下邊,右邊)

P(大寫):代表粘貼至光標前(上邊,左邊)

9、剪切粘貼

dd    其實就是剪切命令,剪切當前行

ddp   剪切當前行并粘貼,可實現當前行和下一行調換位置

正常模式下按v(逐字)或V(逐行)進入可視模式

然后用jklh命令移動即可選擇某些行或字符,再按d即可剪切

ndd 剪切當前行之后的n行。利用p命令可以對剪切的內容進行粘貼

:1,10d 將1-10行剪切。利用p命令可將剪切后的內容進行粘貼。

:1, 10 m 20 將第1-10行移動到第20行之后。

10、退出保存

:wq 保存并退出

ZZ 保存并退出

:q! 強制退出并忽略所有更改

:e! 放棄所有修改,并打開原來文件。

ZZ 保存并退出

:sav(eas) new.txt  另存為一個新文件,退出原文件的編輯且不會保存

:f(ile) new.txt    新開一個文件,并不保存,退出原文件的編輯且不會保存

11、移動命令

以字符為單位移動

h   左移一個字符

l   右移一個字符

k   上移一個字符

j   下移一個字符

# 【定位字符】f和F

fx    找到光標后第一個為x的字符

3fd   找到光標后第三個為d的字符

F   同f,反向查找。

以行為單位移動

# 10指代所有數字,可任意指定

10h  左移10個字符

10l  右移10個字符

10k  上移10行

10j  下移10行

$   移動到行尾 

3$  移動到下面3行的行尾

以單詞為單位移動

w  向前移動一個單詞(光標停在單詞首部)

b  向后移動一個單詞

e,同w,只不過是光標停在單詞尾部

ge 同b,光標停在單詞尾部。

以句為單位移動

(   移動到句首

)   移動到句尾

跳轉到文件的首尾

gg  移動到文件頭。 = [[  == ``

G   移動到文件尾。 = ]]

其他移動方法

^   移動到本行第一個非空白字符上。

0   移動到本行第一個字符上(可以是空格)

使用 具名標記 跳轉,個人感覺這個很好用,因為可以跨文件。

使用 ma ,可以將此處標記為 a,使用 'a 進行跳轉

使用 :marks 可以查看所有的標記

使用 :delm!可以刪除所有的標記

當在查看錯誤日志時,正常的步驟是,vim打開文件,然后使用 shift+g  再跳轉到最后一行,這里有個更簡單的操作可以在打開文件時立即跳到最后一行。只要在 vim 和 文件 中間加個 + 即可。

vim + you.log

舉一反三,當你想打開文件立即跳轉到指定行時,可以這樣

# 打開文件并跳轉到 20 行

vim you.log +20

當你使用 / 搜索定位跳轉或者使用 :行號 進行精準跳轉時,有時我們想返回到上一次的位置,如何實現?

只要使用 Ctrl+o 即可返回上一次的位置。

12、排版功能

縮進

:set shiftwidth?   查看縮進值

:set shiftwidth=4  設置縮進值為4

# 縮進相關 最好寫到配置文件中  ~/.vimrc

:set tabstop=4

:set softtabstop=4

:set shiftwidth=4

:set expandtab

>>   向右縮進

<<   取消縮進

如何你要對代碼進行縮進,還可以用 == 對當前行縮進,如果要對多行對待縮進,則使用 n==,這種方式要求你所編輯的文件的擴展名是被vim所識別的,比如.py文件。

排版

:ce   居中

:le   靠左

:ri   靠右

13、注釋命令

多行注釋

進入命令行模式,按ctrl + v進入 visual block模式,然后按j, 或者k選中多行,把需要注釋的行標記起來

按大寫字母I,再插入注釋符,例如//

按esc鍵就會全部注釋了

取消多行注釋

進入命令行模式,按ctrl + v進入 visual block模式,按字母l橫向選中列的個數,例如 // 需要選中2列

按字母j,或者k選中注釋符號

按d鍵就可全部取消注釋

復雜注釋

:3,5 s/^/#/g 注釋第3-5行

:3,5 s/^#//g 解除3-5行的注釋

:1,$ s/^/#/g 注釋整個文檔

:1,$ s/^#//g 取消注釋整個文檔

:%s/^/#/g 注釋整個文檔,此法更快

:%s/^#//g 取消注釋整個文檔

14、調整視野

"zz":命令會把當前行置為屏幕正中央,

"zt":命令會把當前行置于屏幕頂端

"zb":則把當前行置于屏幕底端.

Ctrl + e 向下滾動一行

Ctrl + y 向上滾動一行

Ctrl + d 向下滾動半屏

Ctrl + u 向上滾動半屏

Ctrl + f 向下滾動一屏

Ctrl + b 向上滾動一屏

【跳到指定行】:兩種方法

可以先把行號打開

:set nu  打開行號

:20    跳到第20行

20G    跳到第20行

15、區域選擇

要進行區域選擇,要先進入可視模式

v   以字符為單位,上下左右選擇

V   以行為單位,上下選擇

選擇后可進行操作

d   剪切/刪除

y   復制

Ctrl+v   如果當前是V(大寫)模式,就變成v(小寫)

         如果當前是v(小寫)模式,就變成普通模式。

         如果當前是普通模式,就進入v(小寫)模式

利用這個,可以進行多行縮進。

ggVG   選擇全文

16、窗口控制

新建窗口

# 打開兩個文件分屬兩個窗口

vim -o 1.txt 2.txt

# 假設現在已經打開了1.txt

:sp 2.txt   開啟一個橫向的窗口,編輯2.txt

:vsp 2.txt  開啟一個豎向的窗口,編輯2.txt

:split        將當前窗口再復制一個窗口出來,內容同步,游標可以不同

:split 2.txt  在新窗口打開2.txt的橫向窗口

# 需要注意:內容同步,但是游標位置是獨立的

Ctrl-w s    將當前窗口分成水平窗口

Ctrl-w v    將當前窗口分成豎直窗口

Ctrl-w q    等同:q 結束分割出來的視窗。

Ctrl-w q!   等同:q! 結束分割出來的視窗。

Ctrl-w o    打開一個視窗并且隱藏之前的所有視窗

窗口切換

,如下:

# 特別說明:Ctrl w <字母> 不需要同時按

Ctrl-w h    切換到左邊窗口

Ctrl-w l    切換到右邊窗口

Ctrl-w j    切換到下邊窗口

Ctrl-w k    切換到上邊窗口

# 特別說明:全屏模式下

:n    切換下一個窗口

:N    切換上一個窗口

:bp   切換上一個窗口

# 特別說明:非全屏模式

:bn    切換下一個窗口,就當前位置的窗口的內容變了,其他窗口不變

:bN    切換上一個窗口,就當前位置的窗口的內容變了,其他窗口不變

窗口移動

# 特別說明:Ctrl w <字母> 不需要同時按

Ctrl-w J   將當前視窗移至最下面

Ctrl-w K   將當前視窗移最上面

Ctrl-w H   將當前視窗移至最左邊

Ctrl-w L   將當前視窗移至最右邊

Ctrl-ww    按順序切換窗口

調整尺寸

# 友情提示:鍵盤切記不要處于中文狀態

Ctrl-w +   增加窗口高度

Ctrl-w -   減少窗口高度

退出窗口

:close    關閉當前窗口

:close!   強制關閉當前窗口

:q       退出,不保存

:q!      強制退出,不保存

:x       保存退出

:wq      保存退出

:wq!     強制保存退出

:w <[路徑/]文件名>        另存為

:savesa <[路徑/]文件名>   另存為

ZZ 保存并退出。

:only    關閉所有窗口,只保留當前窗口(前提:其他窗口內容有改變的話都要先保存)

:only!   關閉所有窗口,只保留當前窗口

:qall 放棄所有操作并退出

:wall 保存所有,

:wqall 保存所有并退出。

17、文檔加密

vim -x file_name

然后輸入密碼:

確認密碼:

如果不修改內容也要保存。:wq,不然密碼設定不會生效。

18、錄制宏

按q鍵加任意字母開始錄制,再按q鍵結束錄制(這意味著vim中的宏不可嵌套),使用的時候@加宏名,比如qa。。。q錄制名為a的宏,@a使用這個宏。

19、執行命令

# 重復前一次命令

# 執行shell命令

:!command

# 比如列出當前目錄下文件

:!ls 

# 執行腳本

:!perl -c script.pl 檢查perl腳本語法,可以不用退出vim,非常方便。

:!perl script.pl 執行perl腳本,可以不用退出vim,非常方便。

:suspend或Ctrl - Z 掛起vim,回到shell,按fg可以返回vim。

20、幫助命令

在Unix/Linux系統上

$ vimtutor

# 普通模式下

鍵盤輸入vim或F1

# 命令行模式下

:help     顯示整個幫助

:help xxx 顯示xxx的幫助,比如 :help i, :help CTRL-[(即Ctrl+[的幫助)。

:help 'number' Vim選項的幫助用單引號括起

在Windows系統上

:help tutor

21、配置命令

顯示當前設定

:set或者:se顯示所有修改過的配置

:set all 顯示所有的設定值

:set option? 顯示option的設定值

:set nooption 取消當期設定值

:ver   顯示vim的所有信息(包括版本和參數等)

# 需要注意:全屏模式下

:args   查看當前打開的文件列表,當前正在編輯的文件會用[]括起來

更改設定

:set nu   顯示行號

set autoindent(ai)   設置自動縮進

set autowrite(aw)    設置自動存檔,默認未打開

set backup(bk) 設置自動備份,默認未打開

set background=dark或light,設置背景風格

set cindent(cin) 設置C語言風格縮進

:set ts=4   設置tab鍵轉換為4個空格

:set ff=unix   # 修改文件dos文件為unix

:set shiftwidth?   查看縮進值

:set shiftwidth=4  設置縮進值為4

:set ignorecase  忽略大小寫的查找

:set noignorecase  不忽略大小寫的查找

:set paste  # insert模式下,粘貼格式不會亂掉

:set ruler?  查看是否設置了ruler,在.vimrc中,使用set命令設制的選項都可以通過這個命令查看

:scriptnames  查看vim腳本文件的位置,比如.vimrc文件,語法文件及plugin等。

:set list 顯示非打印字符,如tab,空格,行尾等。如果tab無法顯示,請確定用set lcs=tab:>-命令設置了.vimrc文件,并確保你的文件中的確有tab,如果開啟了expendtab,那么tab將被擴展為空格。

:syntax        列出已經定義的語法項

:syntax clear  清除已定義的語法規則

:syntax case match    大小寫敏感,int和Int將視為不同的語法元素

:syntax case ignore   大小寫無關,int和Int將視為相同的語法元素,并使用同樣的配色方案

以上就是我使用 Vim 的一些使用總結,希望對你能有幫助。 

 

責任編輯:龐桂玉 來源: 良許Linux
相關推薦

2021-04-12 14:30:30

GitLinux命令

2024-02-17 08:00:00

內部威脅濫用數據網絡安全

2019-03-08 09:31:13

信息安全安全認證IT認證

2015-06-08 09:46:01

Google Play回歸

2010-07-29 16:24:40

新華都唐駿

2022-02-07 00:21:46

運營商5G移動

2017-08-02 10:45:56

2018-06-19 14:07:04

Python編程開發面向對象

2021-01-27 18:15:58

Java重寫Overriding

2022-08-13 13:00:43

SQL語言

2020-04-29 08:25:14

黑客安全工具

2020-02-11 18:42:04

iOS 13.4蘋果更新

2022-11-03 07:07:49

函數Pandascsv

2020-10-27 12:06:17

MathJavaScript對象

2020-11-10 17:32:01

數字貨幣央行數字貨幣

2023-08-03 13:22:30

超導技術

2024-04-02 11:37:59

AGI網絡模型GAN

2024-07-17 09:27:28

2024-01-05 09:08:48

代碼服務管理

2023-09-01 07:25:39

領域驅動設計DDD
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 人人干97 | 亚洲福利一区 | 亚洲精品播放 | 日本aa毛片a级毛片免费观看 | 人人射人人 | 国产福利免费视频 | 在线播放91 | www.中文字幕.com | 欧美日韩视频网站 | 国产精品久久精品 | 中文在线视频观看 | 成人在线视频观看 | 亚洲精品在线播放 | 黄 色 毛片免费 | 国产成人精品午夜视频免费 | 欧美精产国品一二三区 | 亚洲视频免费在线观看 | 99热视 | 精品蜜桃一区二区三区 | 成人精品视频在线观看 | 国产精品久久久久久久7777 | 91视频一区| 国产婷婷色一区二区三区 | 亚洲一区 中文字幕 | 国产ts人妖一区二区三区 | 久久精品小短片 | 国产精品久久毛片av大全日韩 | 久久久久一区二区三区四区 | 亚洲深夜福利 | 精品伦精品一区二区三区视频 | 1000部精品久久久久久久久 | 国产91久久精品一区二区 | 欧美最猛黑人 | 国产在线1| 亚洲免费网 | 精品伦精品一区二区三区视频 | xx性欧美肥妇精品久久久久久 | 精品一区二区av | 欧美视频在线看 | 免费xxxx大片国产在线 | 国产精品久久久免费 |