###############vim 工作參數(shù)設(shè)定################
1.臨時(shí)設(shè)定
:set 參數(shù)信息
:set nu #顯示行數(shù)
:set nonu #取消顯示行數(shù)
:set mouse=a #鼠標(biāo)可以使用
:set cursorline #有下劃線
注意:
以上設(shè)定方式在vim退出后會(huì)還原默認(rèn)
2.永久設(shè)定
vim /etc/vimrc ##設(shè)定進(jìn)入頁(yè)面
set nu ##前面加數(shù)字
set mouse=a ##鼠標(biāo)可以使用
set cursorline ##有下劃線
注意:
以上操作必須用root用戶才能完成
3.字符管理
y ##復(fù)制
y1 ##復(fù)制一個(gè)字母
y31 ##復(fù)制三個(gè)字母
yw ##復(fù)制一個(gè)單詞
y3w ##復(fù)制三個(gè)單詞
yy ##復(fù)制一整行
y3y ##復(fù)制三整行
c ##剪切
cl ##剪切一個(gè)字母
c3l ##剪切三個(gè)字母
cw ##剪切一個(gè)單詞
c3w ##剪切三個(gè)單詞
cc ##剪切一整行
c3c ##剪切三整行
注意:
當(dāng)用c做剪切動(dòng)作后,vim會(huì)進(jìn)入插入模式如果需要粘貼那么要按esc退出插入模式然后按p粘貼
d ##刪除
dl ##刪除一個(gè)字母
d3l ##刪除3個(gè)字母
dw ##刪除一個(gè)單詞
d3w ##刪除3個(gè)單詞
dd ##刪除一整行
d3d ##刪除三整行
p ##粘貼
u ##撤銷
ctrl+r ##恢復(fù)
4.vim的可視化模式
ctrl+v ##進(jìn)入可視化模式
#可視化模式的批量添加
ctrl+v 進(jìn)入可視化模式
選中要添加字符所在列
按”I”進(jìn)入插入模式
寫入字符
按批量添加字符出現(xiàn)
5.字符的替換
首先按 Esc然后進(jìn)行后續(xù)
:%s/原字符/替換后字符 ##每一行出現(xiàn)的第一個(gè)關(guān)鍵字
:%s/原字符/替換后字符/g ##全文替換,s所有行,g表示所有列
:3,5s/原字符/替換后字符/g ##替換第三行到第五行的關(guān)鍵字
:/lp/,/halt/s/sbin/hello/g ##替換lp字符和halt字符之間的所有關(guān)鍵字
6在vim中編寫多個(gè)文件
vim file
:sp file1
ctrl+w 放開 上/下/左/右 ##光標(biāo)在窗口之間的移動(dòng)。
7.光標(biāo)移動(dòng)及字符搜索
#光標(biāo)移動(dòng)
:數(shù)字 ##光標(biāo)移動(dòng)到指定的行
##光標(biāo)移動(dòng)到行首
##光標(biāo)移動(dòng)到行尾
gg ##光標(biāo)移動(dòng)到第一行
G ##光標(biāo)移動(dòng)到最后一行
#搜索字符
/關(guān)鍵字
n ##向下匹配
N ##向上匹配
######################插入模式##############
i ##光標(biāo)所在位置插入
I ##光標(biāo)所在行的行首插入
a ##光標(biāo)所在字符的下個(gè)字符插入
A ##光標(biāo)所在行行 尾插入
s ##刪除光標(biāo)所在字符插入
S ##刪除光標(biāo)所在行插入
o ##光標(biāo)所在行的下一行插入
O ##光標(biāo)所在行的上一行插入
##############退出模式###########
:q #退出,在打開文件后沒有對(duì)文件做任何修改時(shí)可使用
:wq #退出保存,在對(duì)文件修改后并保存內(nèi)容時(shí)使用。
:q! #強(qiáng)制退出,在對(duì)文件做修改后要放棄修改時(shí)使用
:wq! #強(qiáng)制退出保存,在對(duì)屬于自己的文件或你是root用戶時(shí)使用。
################linux中管理輸入輸出###########
> #重定向正確輸出
2> #重定向錯(cuò)誤輸出
&> #重定向所有輸出
注意:重定向動(dòng)作會(huì)覆蓋原文件內(nèi)容
例子:
用student用戶登陸系統(tǒng)
find /etc/ -name passwd #此命令在student用戶下執(zhí)行因?yàn)闄?quán)限問題會(huì)報(bào)錯(cuò)
find /etc/ -name passwd > file #將正確輸出導(dǎo)入到file文件夾,在屏幕上顯示錯(cuò)誤結(jié)果
find /etc/ -name passwd 2> file2 #將錯(cuò)誤結(jié)果導(dǎo)入file2,在屏幕顯示正確結(jié)果
find /etc/ -name passwd &> file3 #將所有結(jié)果導(dǎo)入file3
#輸出追加
追加會(huì)把定向的輸出放到原來文件最后不會(huì)覆蓋原來文件
>> #追加正確輸出
2>> #追加錯(cuò)誤輸出
&>> #追加所有輸出
find /etc -name passwd >> file
find /etc -name passwd 2>> file.err
find /etc -name passwd &>> file.all
#輸入管理
< 內(nèi)容
EOF
cat > westos < hello
westos
world
EOF
cat westos
hello
westos
world
vim test.sh
#!/ban/bash
passwd < student
2018lee
2018lee
EOF
sh test.sh
#管道
| ##把第一條命令的正確輸出變成第二條命令的輸入
2>&1 ##將編號(hào)位的錯(cuò)誤輸出轉(zhuǎn)換成編號(hào)為1
tee ##將輸出復(fù)制一份到指定位置
ls /ban | wc -l ##統(tǒng)計(jì)/bin中有多少文件
find /etc -name passwd 2>&1 | wc -l
find /etc/ -name passwd 2>&1 | tee file |wc -l
cat file