日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

新手入门之VIM 编辑小技巧

發布時間:2025/3/15 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 新手入门之VIM 编辑小技巧 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一:命令狀態下, 有如下一些常用命令:

新增: ??a 光標后面添加文本 ? ? ? ? ? ? A 光標所在行末尾添加文本

插入:? ??i 光標前面插入文本 ? ? ? ? ? ??I 從光標所在行的開始處插入文本

刪除與修改:

? ? ? ? ? ? ? x 刪除光標處的字符 ? ? ? ? ? ? ? ? ? ?dd 刪除光標所在的整行

? ? ? ? ? ? ? 3dd 刪除光標所在行以及下面的兩行

? ? ? ? ? ? ? D 刪除光標到行尾的文本, 常用于刪除注釋語句 (d$)

光標移動:

? ? ? ? ? ? ? ?^ 光標移動到行首 ? ? ? ? ? ? ? ? ? ?? $ 光標移動到行尾

? ? ? ? ? ?????Ctrl+d 向下翻半頁 ? ? ? ? ? ? ? ? ? ? Ctrl+f 向下翻一頁

? ? ? ? ? ?????Ctrl+u 向上翻半頁 ? ? ? ? ? ? ? ? ? ? Ctrl+b 向上翻一頁

? ? ? ? ? ?????gg 光標定位到文檔頭 ? ? ? ? ? ? ? ? G 光標定位到文檔尾

? ? ? ? ? ?????H 光標定位到當前頁首 ? ? ? ? ? ? ?? w 光標往后移一個字

? ? ? ? ? ?????b 光標往前移一個字

? ? ? ? ? ? ?? L 光標定位到當前頁的最后一行的行首

查找與替換:

/[str] 查找字符串 str ? ? ? ? ? ? ? ? ??接著命令 n 移動到下一個找到的字符串, ? ? ? ? ?

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 命令 N 移動到上一個找到的字符串

部分替換:(只能替換光標之所在的行)

? ? ? ? ? ? ? ?:s/[src]/[dst] ? ? ?/i 忽略大小寫 ? ? ?/g 全部匹配

? ? ? ? ? ? ? ?eg : ? s/hello/world/ig ? ? ? 只能替換一行

? ? ? ? ? ? ? ?eg: ? ??3,6 s/[src]/[dst]/ig( 3-6 行中找) ? ? 3,6 s/hello/world

全部替換:

? ? ? ? ? ?? %s/[src]/[dst]/g ? ? 將文檔中所有 src 的字符串替換為 dst 字符串

? ? ? ? ? ? ??:%s/^ //g ? ? ? ? ? ? 將文檔每一行的行首的空格去掉

塊操作:

? ? ? ? ? v 可視化塊選擇狀態, 選中塊之后, 可以對塊進行刪除(d),復制(y),剪 ? ?

? ?? ?????切(x)

? ? ? ? ??yy 復制光標所在的整行

? ?? ?????[n]yy 從光標開始往下復制 n 行,[n]表示一個整數

? ?? ?????p 將復制后的文本粘貼到光標處

? ?? ?????u 撤銷上次操作

結束編輯:

? ? ? ? ? ? ? ?:q 在未修改文檔的情況下退出

? ? ? ? ? ?????:q! 放棄文檔的修改, 強行退出

? ? ? ? ? ?????:w 文檔存盤

? ? ? ? ? ?????:wq 文檔存盤退出 ? ? ? ? 也可以: x ?保存退出?

?

計數:

比如我有一個log文件,我文件里符合規則的字符是yes,我想查找這個abc.log文件中的yes字符數量,怎么查找呢,如下:

:%s/yes//gn

?

跳轉:?

括號匹配:??


% 可以讓光標從它當前所在的括號跳轉到與它相匹配的括號上去, 對花括號和
圓括號, 方括號都有效, 常用于手工檢查括號是否匹對.??


標示位置? ??
?


你可以在檔案□做些標記再隨時返回被標記的位置.

m char (MARK) 把這個地方標示成 char
' char (quote character) 跳到被標為 char的那一行
'' (按兩次') 回到剛才的位置

char 可以是小寫的 a-z中的任一個 . 一個標記在除了下面的這兩種情況
外會一直存在

1) 重覆使用相同的標示 char .
或 2) 刪掉了被標示的那一行.


文字段落


有時候一段一段的移動游標會比較方便.我們可以用 {,},(,) 來達到這些功能

{ (左大括號) 跳到上一段的開頭
} (右大括號) 跳到下一段的的開頭.

( (左小括號) 移到這個句子的開頭
) (右小括號) 移到下一個句子的開頭

[[ 跳往上一個函式
]] 跳往下一個函式

其他:

? ? ? ? ? ?vim -b egenea-base.ko?? 加上-b參數,以二進制打開

? ? ? ? ? :%!xxd ?十六進制模式 ? ? ? ? ? ? ??:%!xxd ? –r 返回文本模式

? ? ? ? ? ?若不小心按了 Ctrl+s, ? vim 會處于僵死狀態, 按Ctrl+q 可以恢復。

? ? ? ? ? ?vim +3 main.c //表示定位到 main.c 的第 3 行

? ? ? ? ?? vim +/main ? ?main.c ? ? ?//表示定位main.c的第一個main?處

? ? ? ? ? ?命令模式下輸入:new 2.c ? ? ? ? ?//表示再打開一個 vim,是橫向的?

? ? ? ? ?? 用vnew 2.c 表示縱向

? ? ? ? ? ?兩個窗口之間進行切換的方式: Ctrl+w, ?w

? ? ? ? ? ?在命令模式中輸入 gg=G 可以自動對齊 ? ?

? ? ? ? ?? set nu顯示行號,set nonu關閉行號

sed: 管道查找替換程序

? ? ? ? ? ? ?cat a.txt | sed 's/aa/bb/' > b.txt //將 a.txt 中的 aa 替換成 bb ? ? ? ? ?

? ? ? ? ? ? ? 并重定向輸出到 b.txt 中

?

讓終端有顏色,添加?.bashrc 里面下面的語法:?

?

export PS1="\[\e[37;1m\][\[\e[32;1m\]\u\[\e[37;1m\]@\h \[\e[36;1m\]\w\[\e[0m\]]\\$>"

?

總結

以上是生活随笔為你收集整理的新手入门之VIM 编辑小技巧的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。