linux學習筆記(3):vim及輸入輸出
vim的模式
命令模式:瀏覽檔案,臨時更改vim的工作模式,對文字批量處理
插入模式:對檔案內容進行編輯
退出模式:退出vim模式
vim命令模式
1.vim幫助
方法1:
vim
:help
方法2
vimtutor
2.vim工作引數設定
臨時設定
:set 引數資訊
:set nu 每一行前顯示行號
:set nonu 取消行號顯示
:set mouse=a 顯示滑鼠
:set cursorline 顯示行線
注意:以上設定方式在vim退出後會還原預設
如果要永久儲存vim的工作方式需要編輯vim的配置檔案:/etc/vimrc
set nu
set mouse=a
set cursorline
永久儲存設定必須用root使用者才能完成
3.搜尋字元
/關鍵字
n 向下匹配
N 向上匹配
4.字元管理
y 複製
yl 複製一個字母
y3l 複製三個字母
yw 複製一個單詞
y3w 複製三個單詞
yy 複製一整行
y3y 複製三行
c 剪下
cl 剪下一個字母
c3l 剪下三個字母
cw 剪下一個單詞
c3w 剪下三個單詞
cc 剪下一整行
c3c 剪下三行
注意:當用c做剪下動作後,vim會進入插入模式如果需要貼上那麼要按退出插入模式然後按
貼上
d 刪除
dl 刪除一個字母
d3l 刪除三個字母
dw 刪除一個單詞
d3w 刪除三個單詞
dd 刪除一整行
d3d 刪除三行
p 貼上
u 撤銷
ctrl+r 恢復
5.vim的視覺化模式
ctrl+v 進入視覺化模式,在這個模式可以選擇區域操作批量新增字元
ctrl+v 進入視覺化模式選中要新增字元所在列按"I"進入插入模式
寫入字元
按批量新增字元出現
6.字元的替換
:%s/源字元/替換後字元 每一行出現的第一個關鍵字
:%s/源字元/替換後字元/g 全文替換
:1,3s/源字元/替換後字元/g 替換1到3行
注意:%s標示所有行,g標示所有列
7.在vim中編寫多個檔案
vim file
:sp file1 同時編輯當前檔案和flie1
ctrl+w s 上下分屏
ctrl+w v 左右分屏
ctrl+c 關閉游標所在螢幕
ctrl+w 上|下|左|右 游標在視窗之間的移動
8.游標移動及字元搜尋
在命令模式下游標的移動
:數字 游標移動到指定的行
<HOME> 游標移動到行首
<END> 游標移動到行尾
G 游標移動到最後一行
gg 游標移動到第一行
插入模式
i 游標所在位置插入
I 游標所在行的行首插入
A 游標所在行行尾插入
a 游標所在字元的下個字元插入
s 刪除游標所在字元插入
S 刪除游標所在行插入
o 游標所在行的下一行插入
O 游標所在行的上一行插入
退出模式
:q #退出,在開啟檔案後沒有對檔案做任何修改時可使用
:wq #退出儲存,在對檔案修改後並儲存內容時使用
:q! #強制退出,在對檔案做修改後要放棄修改時使用
:wq! #強制退出儲存,在對屬於自己的檔案或你時root使用者時使用
linux中管理輸入輸出的管理
輸出重定向
> 重定向正確輸出
2> 重定向錯誤輸出
&> 重定向所有輸出
注意:重定向動作會覆蓋原始檔內容
示例:
用student使用者登陸系統
find /etc/ -name passwd 此命令在student使用者下執行因為許可權問題會報錯
find /etc/ -name passwd > file
find /etc/ -name passwd 2> file
find /etc/ -name passwd &> file
輸出追加
“追加會把定向的輸出放到原檔案最後不會覆蓋原檔案”
>>
2>>
&>>
find /etc -name passwd >> file
find /etc -name passwd 2>> file.err
find /etc -name passwd &>> file.all
注意:同上,但輸出追加不會清空檔案裡原有的字元
輸入重定向
cat>檔名<<EOF
內容
EOF
示例:
管道
“|”管道的作用是把前一條命令的輸出變成下一條命令的輸入
注意:管道只允許正確輸出通過
如果要儲存輸出內容,用到的命令是“tee”
| ##把第一條命令的正確輸出變成第二條命令的輸入
2>&1 ##將編號位2的錯誤輸出轉換成編號為1
tee ##將輸出複製一份到指定位置
ls /bin | wc -l
find /etc -name passwd 2>&1 | wc -l
find /etc/ -name passwd 2>&1 | tee file |wc -l