Vi(Linux系统下的标准编辑器)学习笔记
前言
各種操作系統都有比較友好的界面,習慣于Windows,Linux,Mac的各種操作界面的情況下,使用命令行簡直太難受了
然后,為了方便對學校的hustoj進行各種加題、配spj的操作,本校的學長給我了ssh的密鑰
ssh貌似不能遠程命令行以外的東西(如果能我也不會)
這個時候打開文件就比較麻煩
好在Linux系統自帶Vi,當然其使用方式還是和一般的什么txt不太一樣,畢竟是在命令行里的
當然,人們一般更喜歡用的編輯器是Vim,但是大致的功能差不多,所以這篇博客的功能可以說是Vi/Vim的
注意:本文介紹的Vi是Linux系統下的,有些操作系統不帶此編輯器
正文
打開文件
通過命令行到某個目錄下,用Vi打開該目錄下的“1.cpp”
vi 1.cpp也可以使用這個命令(似乎是等效的,然而我并不確定)
vim 1.cpp當然其它后綴的文件也可以同樣打開
主體介紹
Vim有多種模式,常用的有三種:命令模式(Command mode),輸入模式(Insert mode)和底線命令(末行)模式(Last line mode)
其實這三種模式的設計非常好用,既通過按鍵實現很多功能,也能兼顧文本的編輯
命令模式
打開Vim默認的就是命令模式
- 小寫字母iii
按“i”鍵進入輸入模式(當然其它有些鍵也可以,但是這個的操作名字為“在當前位置開始進行操作”,其它的其實不咋用)
可以理解為insertmodinsert\ modinsert?mod,就好記了 - 字符:::,shiftshiftshift+;;;
進入末行模式
理解成打分號了我就要輸入具體命令了 - 兩個字符ZZZZZZ,連續打入
你會直接保存并退出
命令模式常用的功能主要是用命令編輯文本
這里以下會講很多編輯操作
- 小寫字母uuu
撤銷上一次動作,理論上能撤銷多次
可以理解為undoundoundo - .,按下英文句號
重復上次操作 - 小寫字母xxx
刪除當前光標的后一個字符,并且會保留在命令模式
可以理解為Delete - 大寫字母XXX
刪除當前光標的前一個字符,并且會保留在命令模式
可以理解為Backspace - 字符$,shift+444
移到行尾 - 字符^,shift+666
移到從開頭開始的第一個非TabTabTab位置 - 字符000
移到行首 - GGG
移到最后一行 - 1G1G1G
移到第一行 - yyyyyy
復制當前行 - 字符ppp
粘貼到下一行 - 字符PPP
粘貼到上一行 - y1Gy1Gy1G
復制當前行至第一行的所有內容 - yGyGyG
復制當前行至最后一行的所有內容 - [number]+[↑\uparrow↑或↓\downarrow↓或←\leftarrow←或→\rightarrow→或Enter]
向指定方向動number次,Enter方向為向下
搜索與替換
- /[string]
往下查找string - ?[string]
往上查找string - 字符nnn
沿著上一次的輸入查找的方向查找(不算是輸入查找方向) - 字符NNN
反向上一次的輸入查找的方向查找(不算是輸入查找方向) - [number1],[number2]s/[string1]/[string2]/[g或者gc]
代表在number1行到number2行直接把所有string1替換成string2(number可以輸入$代表最后一行,如果每次替換前需要提示則最后一個變量選擇gc)
Hint:每次輸入都很可能匹配到某個操作,所以要謹慎,并且容易發現,很多東西是套用格式,可以舉一反三
末行模式
從命令模式,打入“:”之后,我們可以輸入指令,輸入完后換行確認,無論你的輸入是否正確,它都會回到命令模式
- 字符www
保存當前文件
如果要另保存備份則應輸入
w[filename]w\ [file\ name]w?[file?name] - 字符qqq
退出對當前文件的編輯 - 兩個字符wqwqwq
保存當前文件并退出對當前文件的編輯 - !command!\ command!?command,一個感嘆號,后面跟加一些命令
不退出vim,在命令行中執行command并查看結果 - 字符串setnuset\ nuset?nu
顯示行號,其實行號挺重要的,命令模式中的很多操作都要用到 - 字符串setnonuset\ nonuset?nonu
隱藏行號
編輯模式
編輯模式里按ESCESCESC能夠返回命令模式
然后另外就可以自由輸入啦
總結
這個編輯器功能強大,還是挺不錯的,但是要記住這些操作
另外,我這里只是列舉我認為比較有用的,其實其功能還有很多
推薦兩篇比較系統介紹的(這兩個東西太多了,推薦有需要再去看)
http://www.cnblogs.com/doseoer/p/6241443.html
http://www.runoob.com/linux/linux-vim.html
最后貼上一個經典的圖
總結
以上是生活随笔為你收集整理的Vi(Linux系统下的标准编辑器)学习笔记的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [趣题]取数
- 下一篇: 参加浙江中医药大学第十二届程序设计竞赛(