国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當前位置: 首頁 > news >正文

公司做影視網(wǎng)站侵權(quán)全國疫情防控最新數(shù)據(jù)

公司做影視網(wǎng)站侵權(quán),全國疫情防控最新數(shù)據(jù),萬州工程建設(shè)招投標網(wǎng)站,返利網(wǎng)站開發(fā)文檔運維人員不僅要熟悉操作系統(tǒng)、服務(wù)器、網(wǎng)絡(luò)等只是,甚至對于開發(fā)相關(guān)的也要有所了解。很多運維工作者可能一時半會記不住那么多命令、代碼、方法、原理或者用法等等。這里我將結(jié)合自身工作,持續(xù)給大家更新運維工作所需要接觸到的知識點,希望大…

運維人員不僅要熟悉操作系統(tǒng)、服務(wù)器、網(wǎng)絡(luò)等只是,甚至對于開發(fā)相關(guān)的也要有所了解。很多運維工作者可能一時半會記不住那么多命令、代碼、方法、原理或者用法等等。這里我將結(jié)合自身工作,持續(xù)給大家更新運維工作所需要接觸到的知識點,希望大家喜歡。

今天我們要講的是 Vim。


一、簡介

Vim文本編輯器,是由 vi 發(fā)展演變過來的文本編輯器,使用簡單、功能強大、是 Linux眾多發(fā)行版的默認文本編輯器。?

vi ( visual editor ) 編輯器通常被簡稱為vi,它是Linux和Unix系統(tǒng)上最基本的文本編輯器,類似于Windows系統(tǒng)下的notepad (記事本) 編輯器。Vim (Vi improved)是 vi 編輯器的加強版,比 vi 更容易使用。vi 的命令幾乎全部都可以在vim上使用。

文章開頭我先對 Vim 相關(guān)的一些基礎(chǔ)詞語做個解釋,后面都會有詳細的說明,方便大家理解。

官方網(wǎng)站:https://www.vim.org/

1.1. 動詞理解

動詞代表了我們打算對文本進行什么樣的操作。

d  # 表示刪除delete
r  # 表示替換replace
c  # 表示修改change
y  # 表示復(fù)制yank
v  # 表示選取visual select

1.2.?名詞理解

名詞代表了我們即將處理的文本。引號或者各種括號所包含的文本稱作一個文本塊。

w  # 表示一個單詞word
s  # 表示一個句子sentence
p  # 表示一個段落paragraph
t  # 表示一個 HTML 標簽tag

1.3.?介詞理解

?介詞界定了待編輯文本的范圍或者位置。

i  # 表示在...之內(nèi) inside
a  # 表示環(huán)繞... around
t  # 表示到...位置前 to
f  # 表示到...位置上 forward

1.4.?數(shù)詞理解

數(shù)詞指定了待編輯文本對象的數(shù)量,從這個角度而言,數(shù)詞也可以看作是一種介詞。引入數(shù)詞之后,文本編輯命令的語法就升級成了下面這樣:

動詞 介詞/數(shù)詞 名詞

# 示例
c3w  # 修改三個單詞:change three words
d2w  # 刪除兩個單詞:delete two words

另外,數(shù)詞也可以修飾動詞,表示將操作執(zhí)行 n 次。于是,我們又有了下面的語法:

數(shù)詞 動詞 名詞?

# 示例
2dw # 兩次刪除單詞(等價于刪除兩個單詞): twice delete word
3x  # 三次刪除字符(等價于刪除三個字符): three times delete character

二、Vim 鍵位操作

按鍵說明
l????????右移光標
gj???????下移光標(折行文本)
gk???????上移光標(折行文本)
H????????移動到當前頁面頂部
M????????移動到當前頁面中間
L????????移動到當前頁面底部
w????????移動到下個單詞開頭
W????????移動到下個單詞開頭(單詞含標點)
e????????移動到下個單詞結(jié)尾
E????????移動到下個單詞結(jié)尾(單詞含標點)
b????????移動到上個單詞開頭
B????????移動到上個單詞開頭(單詞含標點)
ge???????移動到上個單詞結(jié)尾
gE???????移動到上個單詞結(jié)尾(單詞含標點)
%????????

跳轉(zhuǎn)到配對的符號(默認支持的配對符號組: '()', '{}', '[]'

在vim中使用 :h matchpairs 獲得更多信息)

0移動到行首
^????????移動到行首的非空白符
$????????移動到行尾
g_???????移動到行內(nèi)最后一個非空白符
gg???????移動到文件第一行
G????????移動到文件最后一行
5gg or 5G移動到第五行
gd???????跳轉(zhuǎn)到局部定義
gD???????跳轉(zhuǎn)到全局定義
fx???????移動到字符 x 下次出現(xiàn)的位置
tx???????移動到字符 x 下次出現(xiàn)的位置的前一個字符
Fx???????移動到字符 x 上次出現(xiàn)的位置
Tx???????移動到字符 x 上次出現(xiàn)的位置的后一個字符
;????????重復(fù)之前的f、t、F、T操作
,????????反向重復(fù)之前的f、t、F、T操作
}????????移動到下一個段落 (當編輯代碼時則為函數(shù)/代碼塊)
{????????移動到上一個段落 (當編輯代碼時則為函數(shù)/代碼塊)
zz???????移動屏幕使光標居中
zt???????移動屏幕使光標位于屏幕頂部
zb???????移動屏幕使光標位于屏幕底部
Ctrl + e?向下移動屏幕一行(保持光標不動)
Ctrl + y?向上移動屏幕一行(保持光標不動)
Ctrl + b?向上滾動一屏
Ctrl + f?向下滾動一屏
Ctrl + d?向下滾動半屏
Ctrl + u?向上滾動半屏

?Tips:命令前追加數(shù)字表示命令的重復(fù)次數(shù), 比如?4j?表示向下移動四行

三、Vim?基礎(chǔ)編輯

按鍵說明
r???????替換當前字符
R???????在 ESC 按下之前,替換多個字符
J???????將下一行合并到當前行, 并在兩部分文本之間插入一個空格
gJ??????將下一行合并到當前行, 兩部分文本之間不含空格
gwip????重新調(diào)整段落
g~??????大小寫轉(zhuǎn)換操作修飾符
gu??????小寫操作修飾符
gU??????大寫操作修飾符
cc??????將光標所在的行刪除, 然后進入插入模式
c$ or C?將光標處到行尾刪除, 然后進入插入模式
ciw?????將光標所在的單詞刪除, 然后進入插入模式
cw or ce從光標位置開始, 修改單詞
s???????刪除當前字符, 然后進入插入模式
S???????清空當前行, 然后進入插入模式 (同cc)
xp??????當前字符后移
u???????撤銷
U???????撤銷上一次的改動行的操作
Ctrl + r重做(取消撤銷)
.???????再次執(zhí)行上個命令

四、Vim 插入模式

按鍵說明
i??????????????從光標前開始插入字符
I??????????????從行首開始插入字符
a??????????????從光標后開始插入字符
A??????????????從行尾開始插入字符
o??????????????在當前行之下另起一行, 開始插入字符
O??????????????在當前行之上另起一行, 開始插入字符
ea?????????????從當前單詞末尾開始插入
Ctrl + h???????在插入模式下,刪除光標前的字符
Ctrl + w???????在插入模式下,刪除光標前的單詞
Ctrl + j???????在插入模式下,另起一行
Ctrl + t???????在插入模式下,向右縮進,寬度由 shiftwidth 控制
Ctrl + d???????在插入模式下,向左縮進,寬度由 shiftwidth 控制
Ctrl + n???????在插入模式下,在光標之前插入自動補全的下一個匹配項
Ctrl + p???????在插入模式下,在光標之前插入自動補全的上一個匹配項
Ctrl + rx??????插入寄存器 x 的內(nèi)容
Ctrl + ox??????暫時進入正常模式以發(fā)出一個正常模式命令 x
Esc or Ctrl + c退出插入模式

五、Vim 可視化模式

按鍵說明
v??????????????進入可視化模式, 移動光標高亮選擇, 然后可以對選擇的文本執(zhí)行命令(比 y - 復(fù)制)
V??????????????進入可視化模式(行粒度選擇)
o??????????????切換光標到選擇區(qū)開頭/結(jié)尾
Ctrl + v???????進入可視化模式(矩陣選擇)
O??????????????切換光標到選擇區(qū)的角
aw?????????????選擇當前單詞
ab?????????????選擇被 () 包裹的區(qū)域(含括號)
aB?????????????選擇被 {} 包裹的區(qū)域(含花括號)
at?????????????選擇被 <> 標簽包裹的區(qū)域(含<>標簽)
ib?????????????選擇被 () 包裹的區(qū)域(不含括號)
iB?????????????選擇被 {} 包裹的區(qū)域(不含花括號)
it?????????????選擇被 <> 標簽包裹的區(qū)域(不含<>標簽)
Esc or Ctrl + c退出可視化模式
>??????????????向右縮進
<??????????????向左縮進
y??????????????復(fù)制
d??????????????剪切
~??????????????大小寫切換
u??????????????將選中文本轉(zhuǎn)換為小寫
U??????????????將選中文本轉(zhuǎn)換為大寫

Tips:也可以使用?(?和?{?分別代替?b?和?B?。

六、Vim Ctrl-c + Ctrl v?神器

按鍵說明
yy?????復(fù)制當前行
2yy????復(fù)制 2 行
yw?????復(fù)制當前單詞
yiw????復(fù)制光標處的單詞
yaw????復(fù)制光標處的單詞及其前后的空格
y$ or Y復(fù)制, 從光標位置到行末
p??????在光標后粘貼
P??????在光標前粘貼
gp?????在光標后粘貼并把光標定位于粘貼的文本之后
gP?????在光標前粘貼并把光標定位于粘貼的文本之后
dd?????剪切當前行
2dd????剪切 2 行
dw?????剪切當前單詞
diw????刪除光標處的單詞
daw????刪除光標處的單詞及其前后的空格
:3,5d??刪除 3 至 5 行
:g/{pattern}/d刪除所有包含 pattern 的行
:g!/{pattern}/d刪除所有不包含 pattern 的行
d$ or D剪切, 從光標位置到行末 (同 D )
x剪切當前字符

Tips:也可以使用以下字符來指定范圍:
:.,$d - 從當前行到文件末尾
:.,1d - 從當前行到文件開頭
:10,$d - 第 10 行到文件末尾?

七、Vim 保存和退出

按鍵說明
:w保存
:q關(guān)閉文件
:wq | :x | ZZ保存并退出
:wqa保存并退出所有文件
:q! | ZQ強制退出
:qa關(guān)閉所有文件
:qa!強制退出所有文件
:w new.txt寫入new.txt
:sav new.txt保存并編輯new.txt
:w !sudo tee %寫入只讀文件

八、Vim 查找和替換

按鍵說明
/foo向前搜索
/foo\c向前搜索?(不區(qū)分大小寫)
?foo向后搜索
/\v\d+使用?regex?搜索
n下一個匹配的搜索模式
N上一個匹配的搜索
*向前搜索當前單詞
#向后搜索當前單詞
%整個文件
’<,’>當前選擇
5第?5?行
5,10第?5?行到第?10?行
$最后一行
2,$第?2?行到最后
.當前行
,3接下來的?3?行
-3,轉(zhuǎn)發(fā)?3?行
&?|?\0替換為整個匹配的
\1...\9替換為 0-9 組
\u大寫下一個字母
\U后面的大寫字符
\l小寫下一個字母
\L后面的字符小寫
\e\u、\U、\l?和?\L?的結(jié)尾
\E\u、\U、\l?和?\L?的結(jié)尾
:s/old/new更換行:先更換
:s/old/new/g更換行:全部替換
:s/\vold/new/g更換行:全部替換為?regex
:s/old/new/gc更換行:全部替換_(確認)_
:s/old/new/i更換行:先忽略大小寫替換
:2,6s/old/new/g更換行:在?2-6?行之間替換
:%s/old/new更換文件:先更換
:%s/old/new/g更換文件:全部替換
:%s/old/new/gc更換文件:全部替換?(確認)
:%s/old/new/gi更換文件:全部替換?(忽略大小寫)
:%s/\vold/new/g更換文件:全部替換為?regex
:g/foo/d刪除包含?foo?的行
:g!/foo/d刪除不包含?foo?的行
:g/^\s*$/d刪除所有空行
:g/foo/t$將包含?foo?的行復(fù)制到 EOF
:g/foo/m$將包含?foo?的行移動到 EOF
:g/^/m0反轉(zhuǎn)文件
:g/^/t.復(fù)制每一行

實例說明:

:s/a\|b/xxx\0xxx/g               # 將 "a b"      修改為 "xxxaxxx xxxbxxx"
:s/test/\U& file/                # 將 "test"     修改為 "TEST FILE"
:s/\(test\)/\U\1\e file/         # 將 "test"     修改為 "TEST file"
:s/\v([abc])([efg])/\2\1/g       # 將 "af fa bg" 修改為 "fa fa gb"
:s/\v\w+/\u\0/g                  # 將 "bla bla"  修改為 "Bla Bla"
:s/\v([ab])|([cd])/\1x/g         # 將 "a b c d"  修改為 "ax bx x x"
:%s/.*/\L&/                      # 將 "HTML"     修改為 "html"
:s/\v<(.)(\w*)/\u\1\L\2/g        # 將單詞的每個首字母大寫
:%s/^\(.*\)\n\1/\1/              # 刪除重復(fù)行
:%s/<\/\=\(\w\+\)\>/\U&/g        # 將 HTML 標記轉(zhuǎn)換為大寫
:g/^pattern/s/$/mytext           # 查找文本并將其附加到末尾
:g/pattern/norm! @i              # 在匹配行上運行宏
/^\(.*\)\(\r\?\n\1\)\+$          # 查看重復(fù)行
/\v^(.*)(\r?\n\1)+$              # 查看重復(fù)行(非常神奇)
:v/./,/./-j                      # 將空行壓縮成空行
:g/<p1>/,/<p2>/d                 # 從 <p1> 到 <p2> 包含刪除

九、Vim?diff 文件比對

用法:

$ vimdiff file1 file2 [file3]
$ vim -d file1 file2 [file3]

按鍵說明:

按鍵說明
zf??????????????定義折疊修飾符
zd??????????????刪除光標位置的折疊
za??????????????展開 & 關(guān)閉光標位置的折疊
zo??????????????展開光標位置的折疊
zc??????????????關(guān)閉光標位置的折疊
zr??????????????展開同級的所有折疊
zm??????????????關(guān)閉同級的所有折疊
zi??????????????開啟 & 關(guān)閉折疊功能
]c??????????????光標移至下一處差異
[c??????????????光標移至上一處差異
do or :diffg[et]將另一緩沖區(qū)中的差異合并至當前緩沖區(qū)
dp or :diffpu[t]將當前緩沖區(qū)中的差異推送至另一緩沖區(qū)
:diffthis???????令當前窗口成為 diff 模式的窗口之一
:dif[fupdate]???強制刷新 diff 的高亮與折疊
:diffo[ff]??????令當前窗口退出 diff 模式

Tips:可以直接在終端運行 vimdiff 查看文件間的不同。也可以將該程序設(shè)為 git difftool 的選項之一。

十、Vim 標記

按鍵說明
`^插入模式下光標的最后位置
`.當前緩沖區(qū)的最后更改
`"最后退出的當前緩沖區(qū)
`0在上次編輯的文件中
''返回當前緩沖區(qū)中跳出的行
``返回當前緩沖區(qū)中跳轉(zhuǎn)的位置
`[到先前更改或拉出的文本的開頭
`]到之前更改或拉出的文本的結(jié)尾
`<到最后一個可視化選擇的開始
`>到最后一個可視化選擇的結(jié)尾
ma將此光標位置標記為a
`a跳轉(zhuǎn)到光標位置a
'a跳轉(zhuǎn)到位置為?a?的行首
d'a從當前行刪除到標記?a?的行
d`a從當前位置刪除到標記?a?的位置
c'a將文本從當前行更改為?a?行
y`a將文本從當前位置拉到?a?的位置
:marks列出所有當前標記
:delm a刪除標記a
:delm a-d刪除標記a、b、c、d
:delm abc刪除標記a、b、c

Tips:可以使用反引號(`)或單引號(')跳轉(zhuǎn)至標記位置。使用單引號會跳轉(zhuǎn)至該標記所在行行首(首個非空白字符)。?

十一、Vim 標簽

按鍵說明
:tabnew or :tabnew {page.words.file}在新標簽中打開文件
Ctrl + wT???????????????????????????將窗口變成標簽
gt or :tabn[ext]????????????????????切換到下一個標簽
gT or :tabp[revious]????????????????切換到上一個標簽
#gt?????????????????????????????????切換到第 # 個標簽
:tabm[ove] #????????????????????????移動標簽到第 # 位(下標從 0 開始)
:tabc[lose]?????????????????????????關(guān)閉當前標簽
:tabo[nly]??????????????????????????關(guān)閉其他標簽
:tabdo command??????????????????????在所有標簽中執(zhí)行命令 (例如 :tabdo q 關(guān)閉所有標簽)

十二、Vim 多文件編輯

按鍵說明
:e[dit] 文件名????新建緩沖區(qū)打開 filename
:bn[ext]??????????切換到下個緩沖區(qū)
:bp[revious]??????切換到上個緩沖區(qū)
:bd[elete]????????關(guān)閉緩沖區(qū)
:b[uffer]#????????切換到第 # 個緩沖區(qū)
:b[uffer] file????用文件名切換緩沖區(qū)
:ls or :buffers???列出所有打開的緩沖區(qū)
:sp[lit] 文件名???新建緩沖區(qū)打開 filename 并水平分割窗口
:vs[plit] 文件名??新緩沖區(qū)打開 filename 并垂直分割窗口
:vert[ical] ba[ll]垂直分割窗口編輯所有緩沖區(qū)
:tab ba[ll]???????標簽頁編輯所有緩沖區(qū)
Ctrl + ws?????????水平分割窗口
Ctrl + wv?????????垂直分割窗口
Ctrl + ww?????????在窗口間切換
Ctrl + wq?????????關(guān)閉窗口
Ctrl + wx?????????當前窗口與下一個窗口交換位置
Ctrl + w=?????????令所有窗口高 & 寬一致
Ctrl + wh?????????切換到左側(cè)窗口
Ctrl + wl?????????切換到右側(cè)窗口
Ctrl + wj?????????切換到下側(cè)窗口
Ctrl + wk?????????切換到上側(cè)窗口
Ctrl + wH?????????使游標所在視窗全高并移至最左 (最左垂直視窗)
Ctrl + wL?????????使游標所在視窗全高并移至最右 (最右垂直視窗)
Ctrl + wJ?????????使游標所在視窗全寬并移至最下 (最下水平視窗)
Ctrl + wK?????????使游標所在視窗全寬并移至最上 (最上水平視窗)

十三、Vim 宏

按鍵說明
qa錄制宏 a
q?停止錄制宏
@a執(zhí)行宏 a
@@重新執(zhí)行上次執(zhí)行的宏

實例說明:

假設(shè)文件包含以下內(nèi)容:

Hello world
My name is Vim
I am an editor

先在你想在每行末尾添加“!”號。為此,可以使用宏來錄制和重放該命令,對于多文本和內(nèi)容較多的文本操作有很大的幫助。通過以下步驟錄制宏:

  1. 將光標置于第一行末尾的單詞
  2. 鍵入“qa”來啟動錄制宏,并按下“A!”向光標所在位置添加“!”號
  3. 按下“j”將光標移動到下一行
  4. 按下“q”停止錄制宏

錄制完宏后執(zhí)行以下命令執(zhí)行宏:

:%norm!@a

?這將應(yīng)用宏到整個文件,將“!”添加到每行的末尾。文件現(xiàn)在如下所示:

Hello world!
My name is Vim!
I am an editor!

十四、Vim 常用小技巧

14.1. 刪除重復(fù)行

:sort | %!uniq -u

14.2.?對文件中的行進行編號

:%!cat -n

14.3.?將整個文檔復(fù)制到剪貼板

:%w !xclip -i -sel c   # GNU/Linux
:%w !xsel -i -b        # GNU/Linux

14.4.?空格和制表符轉(zhuǎn)換

:set noexpandtab  # 將所有空格轉(zhuǎn)換為制表符
:set expandtab    # 將所有制表符轉(zhuǎn)換為空格

14.5.?保存文件前顯示差異

:w !diff % -

這個強烈推薦。

我們可能遇到過這樣的情況:我修改了這個文件,但是忘記都做了哪些修改了,并且我擔心其中有些地方可能修改錯了。解決此問題的方法是查看緩沖區(qū)和文件之間的差異。上述命令可以查看。

14.6.?顯示拼寫錯誤

:set spell

更多小技巧歡迎大家在評論區(qū)分享,讓我們一起努力,謝謝大家。

http://aloenet.com.cn/news/44271.html

相關(guān)文章:

  • 網(wǎng)站系統(tǒng)與網(wǎng)站源碼的關(guān)系上海今天發(fā)生的重大新聞
  • 湖南衡陽網(wǎng)站建設(shè)開發(fā)網(wǎng)站的流程是
  • 湖北華亞建設(shè)工程有限公司網(wǎng)站超級優(yōu)化
  • 蘇州市相城區(qū)住房和城鄉(xiāng)建設(shè)局網(wǎng)站網(wǎng)絡(luò)媒體推廣方案
  • 鄭州網(wǎng)站制作怎么樣江蘇seo平臺
  • app界面模板免費下載百度網(wǎng)站排名優(yōu)化
  • 網(wǎng)上發(fā)布信息的網(wǎng)站怎么做的百度廣告競價
  • 提供佛山順德網(wǎng)站建設(shè)網(wǎng)站seo優(yōu)化軟件
  • 專業(yè)廣州網(wǎng)站建設(shè)臨沂網(wǎng)站建設(shè)方案服務(wù)
  • 做網(wǎng)站必須要購買空間嗎谷歌瀏覽器 免費下載
  • 網(wǎng)頁編輯軟件中文版seo英文全稱
  • 外貿(mào)怎么做網(wǎng)站外鏈seo網(wǎng)站結(jié)構(gòu)優(yōu)化的方法
  • 做調(diào)查賺錢網(wǎng)站有哪些網(wǎng)站推廣
  • 怎么讓網(wǎng)站能被百度到互聯(lián)網(wǎng)營銷師考試
  • 網(wǎng)站建設(shè)經(jīng)驗分享google adsense
  • 搜狗新聞源網(wǎng)站怎么做云南seo公司
  • 江寧網(wǎng)站建設(shè)要多少錢新聞小學生摘抄
  • wordpress 圖片在哪威海百度seo
  • 如何用魔方網(wǎng)表做門戶網(wǎng)站真正免費的建站
  • 網(wǎng)站怎么做圖片網(wǎng)絡(luò)營銷的特征和功能
  • 吉安網(wǎng)站設(shè)計杭州百度優(yōu)化
  • 濟南集團網(wǎng)站建設(shè)公司百度快照如何優(yōu)化
  • 制作英文網(wǎng)站費用營銷策略分析
  • 寺院網(wǎng)站建設(shè)谷歌網(wǎng)站收錄提交入口
  • 大型門戶網(wǎng)站開發(fā)費用發(fā)稿媒體平臺
  • 網(wǎng)站死鏈怎么刪除seo管理系統(tǒng)
  • 西安南郊網(wǎng)站建設(shè)seo 優(yōu)化技術(shù)難度大嗎
  • 試述網(wǎng)站建設(shè)應(yīng)考慮哪些方面的問題競價排名的定義
  • 中小企業(yè)網(wǎng)站建設(shè)中服務(wù)器的解決方案是找客戶資源的軟件哪個最靠譜
  • 網(wǎng)絡(luò)建站公司如何做市場網(wǎng)站營銷與推廣