歡迎您光臨本站 註冊首頁

Linux中的nano、vim 和 sed

←手機掃碼閱讀     火星人 @ 2014-03-08 , reply:0

Linux中的nano、vim 和 sed

一、nano: linux中一款簡單易用的全屏幕編輯器. 1、編輯文件的方法:nano 文件名;(也可以不跟文件名,編輯完成後,保存退出時給出文件名.如果文件名為:/etc/a/b/c.txt,並且/etc目錄下面沒有/a和/b目錄,則可以打開文件進行編輯,但是無法保存.) 2、nano的基本操作: 1)保存:ctrl o enter鍵;(如果在未做好修改之前,按下ctrl o鍵,可以在提醒保存文件名的時候,按下ctrl c,不保存繼續編輯該文件.) 2)退出:ctrl x. 3)剪切:ctrl k.(如果要剪切連續的多行,則連續按ctrl k;如果需要精確剪切的話,則使用ctrl 6 ↑或者↓或者←或者→鍵,選擇需要剪切的內容,則被選中的內容會反白,然後按下ctrl k.如果要取消剛才的選擇的話,則再次按下ctrl 6鍵,則反白內容消失.) 4)粘貼:ctrl u.(也可以點擊右鍵選擇“paste”) 5)搜索:ctrl w.(只能搜索到匹配字元的第一個.) 6)插入行:按下enter鍵. 7)移動游標和換行:↑↓←→鍵. 8)複製:用滑鼠拖動需要複製的行,點擊右鍵選擇“copy”. 9)上翻頁:ctrl y. 10)下翻頁:ctrl v. 11)查看幫助文檔:ctrl g.(在幫助文檔裡面,^表示ctrl鍵,M表示alt鍵.) 二、vim:支持語法高亮和各種各樣的操作命令. 1、vi 的提升版純文本模式化編輯器. 2、Vim常用的模式: 編輯模式(命令模式): 輸入模式(插入模式): 末行模式: 3、Vim中模式的轉換: 編輯——>輸入模式:按下 i o a s c I O A S C (掌握住一兩個即可) i :在當前游標前插入字元; I :從行首插入字元; o : 切換到游標所在行的下方插入; O :切換到游標所在行的上方插入; a :在當前游標所在處的後面插入; A :在當前游標所在行的行尾插入; s :刪除游標所在處字元並進行插入; S :刪除游標所在行並進行插入; c :雙擊c 刪除游標所在行並進行插入;(可以跟數字結合使用) C :刪除游標所在處以及該行後面的字元並進行插入; 輸入模式——>編輯模式:按ESC鍵. 編輯模式——>末行模式:輸入“:”. 末行模式——>編輯模式:按下ESC鍵或者雙擊ESC鍵; 末行模式——>輸入模式: 通過ESC鍵到達編輯模式,再通過編輯模式到達 輸入模式.(輸入模式——>末行模式同理) 4、vim n 文件名:打開文件,使游標直接處於某一行內;(n表示行號) 5、vim [options] 文件1 文件2 文件3…… 一次打開多個文件; :next ,表示切換到第二個文件; :first ,表示切換到第一個文件; :last ,表示切換到最后一個文件; :prev ,表示切換到前面一個文件; :qall ,表示所有的文件都退出了; :wqall ,表示所有的文件都保存退出了; 6、vim /PATTERN/ 文件名:打開文件,使游標處在該匹配字元串的行首;(/PATTERN/表示匹配的字元串); 7、保存退出:在末行模式下輸入:wq;或者ZZ 8、如果同時退出多個文件的話:在末行模式下輸入:wqall; 9、強行保存退出:wq! 10、不保存退出:q 11、不保存強行退出:q! 13、游標移動:#h鍵;向左側移動;(#表示數值,如5h,表示向左側移動5個字元) #L鍵:向右移動; #J鍵:向下移動; #K鍵:向上移動; 14、詞間跳轉:w:跳到下一個單詞的詞首; e:向後跳,跳到單詞的詞尾; b:向前跳,跳到單詞的詞首; 15、句間跳轉:( 向上跳一句; )向下跳一句;(可以跟數字結合使用) 16、段間跳轉: { 向上跳一段; } 向下跳一段;(可以跟數字結合使用) 17、0或者^ :跳到當前所在行的行首;(0表示跳到絕對行首,^表示跳到第一個非空白字元處) 18、$:跳到當前所在行的行尾; 19、G:跳轉到文件尾部;但當跟數字結合時,表示跳轉到第幾行.例如:10G,表示跳轉到第十行; 20、1G: 跳到文件的首部; 21、在末行模式下實現行間跳轉:例如跳到19行,則:19,然後按enter鍵. 22、ctrl f:向後翻一屏; Ctrl b:向前翻一屏; Ctrl d:向後翻半屏; Ctrl u:向前翻半屏; 23 、x:刪除游標所在處的字元;3x:刪除游標所在處的字元及其後兩個字元;X:刪除游標前面的內容; 24、d:刪除行;5d,向後刪除5行;dw:刪除一個字元;3dw:向後刪除3個單詞; 25、r:在游標所在處替換.例如:r5:將游標處的字元替換為5.5rA:將游標所在處及其後四個字元都換成A; 26、R:進入到替換模式. 27、u:撤銷最近一次的編輯操作;(默認可以撤銷50次操作,該值是可以調整的); 28、ctrl r:撤銷剛才的撤銷操作; 29、重做: . 重複執行上一條命令; 30、y:複製,y$:複製當前游標到行尾的內容; yy : 複製該行內容; #yy:複製n行內容; 31、當複製的內容為整行時,小p:粘貼,在當前游標所在行的下方粘貼; 當複製的內容為整行時,大P:在當前游標所在行的上方粘貼; 當複製的內容非整行時,小p表示在游標所在處的後方粘貼,大p表示在游標所在處的前方粘貼; 32、剪切:d 和 p 配合使用; 33、可視化模式:v:按字元選取;V:按行選取;可與p 、y d 等配合使用; 34、/ 或者 ? 後跟字元或者字元串:例如:/word 或者 ?word;n或者N:查看下一個查找到的匹配字元串; 35、s:搜索並替換;該命令要在末行模式下執行,格式為: :ADDR1,ADDR2s/from/to/flags (黃色的表示分隔符,可以使用特殊字元進行替換,例如使用@ 或者#等) (flags:g 表示如果某行有多個都被匹配到,則多個都被替換掉;i 表示不區分大小寫) (ADDR1,ADDR2: m,n:表示第m行到第n行;1,$:表示從第一行到最后一行; . ,$:表示從游標所在行到最后一行; . , 8:表示從當前行到後面第8行; 1,$-1:表示從第一行到倒數第二行; %s :表示全文搜索;) (/from/的內容可以使用正則表達式匹配,/to/的內容不能使用正則表達式匹配,但可以使用\1來引用小括弧的內容). 36、ctrl w, s鍵:水平分屏; Ctrl w, v鍵:垂直分屏; Ctrl w,↑↓←→:在分屏間進行切換; Ctrl w,t:切換到第一個分屏; Ctrl w,b:切換到最后一個分屏; Ctrl w,l:切換到左邊的分屏; Ctrl w,r:切換到右邊的分屏; :q ,表示退出當前分屏;:qall,表示退出所有分屏; Vim –o 文件1 文件2 文件3:表示水平分割多個文件; Vim –O 文件1 文件2 文件3:表示垂直分割多個文件; 37、顯示行號: :set nu(如果想要其永遠生效,則需要編輯vim的配置文件,在裡面加上該行命令.) 取消行號: :set nonu 38vim的配置文件:全局的:/etc/vimrc ,該配置文件中,雙引號表示註釋的內容. 個人的:~/vimrc 39、自動縮進: :set ai(autoindent) 取消自動縮進: :set noai 40、語法高亮: syntax on|off 搜索高亮: set hlsearch 取消搜索高亮:set nohlsearch 三、sed:(stream editor)行編輯器. 特點:1、非互動式編輯器; 2、沒有破壞性,不修改原文件,除非使用shell的重定向符來保存結果; 3、sed也支持sed腳本. 其工作原理為:將一行文字讀到內存空間(該內存空間稱為sed的模式空間)裡面去,做完處理之後,再輸出到屏幕上. sed 的模式空間:即能被sed匹配到的字元串被存放到的內存空間. sed的使用格式:sed [options] [file] 1】sed “ADDR1,ADDR2COMMAND” FILE 表示文件中被ADDR1和ADDR2匹配到的行用什麼命令來處理. 例如:sed 1,4d aa.sh—————————>表示刪除文件aa.sh中第一行到第四行的內容.1,4d可以加引號,也可以不加引號. 2】sed /PATTERN/COMMAND FILE 表示文件中被PATTERN匹配到的行採用什麼命令來處理. 3】sed /PATTERN1/,/PATTER2/COMMAND FILE 表示文件中從被PATTERN1匹配到的行開始至第一次PATTERN2匹配到的行結束採用什麼命令來處理.被 4】sed /PATTERN/p FILE 表示文件中被匹配到的行重新顯示一次@等特殊字元來替換/,有時會出錯.,原文件也顯示一次.最好不要使用 5】sed -n /PATTERN/p FILE:只顯示被模式匹配到的行而不再顯示原文件. 6】sed ‘#a\STRING’ FILE:在某一行或某幾行後面添加字元串.如果字元串中有空格,加上‘’或者“”,否則會報錯. 例如:sed ‘2,5a\my love!\nmy big house’ d.sh (\n表示換行) 在第二行到第五行的每行後面添加兩行. 7】sed ‘#i\STRING’ FILE:在某一行或者某幾行前面添加字元串.

[火星人 ] Linux中的nano、vim 和 sed已經有662次圍觀

http://coctec.com/docs/linux/show-post-45791.html