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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

VIM 学习笔记

發布時間:2023/11/30 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 VIM 学习笔记 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
====VIM簡介====
我們使用的大多數編輯器,都可以直接在編輯區輸入字符,并且能夠通過一些快捷鍵來完成一些控制功能,比如使用方向鍵移動光標,使用 BackSpack 或者 Delete 鍵刪除文字,使用 PgUp 和 PgDn 翻頁,使用Home 和 End 來定位行首和行末??
而Vim是一個帶模式的編輯器,同樣的按鍵,在不同模式下,具有不同的功能定義。例如 h j k l 在 編輯模式下輸入相應的字符,在 普通模式 下卻相當于方向鍵的作用。
由于需要切換模式,Vim的使用起來略顯繁瑣。不過優點也顯而易見:您只要把手安安穩穩的放在打字區就可以了,而不需要使用諸如方向鍵、排版鍵、小鍵盤等需要挪開雙手的鍵位,從而提高了您的效率和專注程度。事實上,Vim的前身Vi誕生的時候,鍵盤上還沒有方向鍵、排版鍵和小鍵盤。
====命令====
使用Vim編輯文件:
??? vi [文件名]
??? vim [文件名] vimtutor [語言]:教學模式 vimdiff [文件1] [文件2] [其它文件]?? :使用Vim比較文件區別 ====VIM配置==== 配置文件
Vim的全局配置文件為 /etc/vim/vimrc ,用戶配置文件為 ~/.vimrc , " 起始的行為注釋行。我們提供的配置
項,您直接加入配置文件就可以了

可以先對Vim進行一些簡單的配置:
??? "設定文件編碼
??? set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936
??? "開啟語法加亮
??? syntax on
??? "配色風格
??? colorscheme pablo
??? "設定行距 GUI界面中生效
??? set linespace=4
??? "設定GUI選項
??? "set guioptions=gmrLtT m:菜單 T:工具欄
??? set guioptions=gmrLt
??? "設定Tab鍵縮進的空格數
??? set tabstop=4
??? "設定編輯器將多少空格視為一個縮進
??? set shiftwidth=4
??? "將縮進轉換為空格
??? "set expandtab
??? "設定折疊方式
??? "set foldmethod=indent
??? "以下字符將被視為單詞的一部分 (ASCII):
??? "set iskeyword+=33-47,58-64,91-96,123-128 ====模式介紹==== Vim常見的模式有: 普通模式 、 插入模式(也叫編輯模式) 、 命令模式 ,另外我們也會經常用到 可視模式?
  • Vim啟動時進入?普通模式?;或者在其它模式下,按下 Esc 鍵,便可以回到普通模式
  • 按下 i 鍵,編輯器底部出現了 -- 插入 -- 或者 -- insert -- ,進入插入模式(編輯模式)
  • 在普通模式下,按下 : 鍵(也就是 Shift+; ),在編輯器底部出現了一個 : ,您進入了命令模式在 : 后輸入一個命令 new ,回車后,編輯器被分割為上下兩欄。為了方便起見,我們在命令前加一個 : 來表示命令模式下輸入的命令
  • 在普通模式下,按下v,進入可視模式,使用 h/j/k/l來移動光標,高亮選取文本
:q ??是退出編輯器,如果編輯區被分成多欄,則是退出當前欄 執行完一個命令(按下回車后),編輯器會自動回到普通模式。如果您想不執行當前命令,直接回到普通
模式,您可以按下Esc鍵 ====模式切換====
  • 其它模式==>普通模式:Esc
  • 普通模式==>插入模式
    • i 在光標前插入?
    • I 在行首插入
    • a 在光標后插入?
    • A 在行末插入
    • o 在當前行之下新建行?
    • O 在當前行之上新建行
    • r 替換當前字符?
    • R 從當前字符開始替換
  • ? ? 普通模式==>命令模式 :使用" : "
  • ? ? 普通模式==>可視模式
    • v 可視模式
    • V 可視塊模式
    • <Ctrl+v> 可視塊模式
====有關操作==== 可以使用其它更有效率的方式移動光標:單詞以空格區分
????w 下一個單詞詞首 W 將特殊符號視為單詞的一部分
??? b 上一個單詞詞首 B 同上

??? e 單詞末尾 E 同上
????0 行首 ^ 行首文字(行首空格之后)
??? $ 行末
??? H 頁面頂部
??? M 頁面中部
??? L 頁面底部 在配置文件中綁定插入模式下的功能鍵: noremap! <M-j> <Down>
??? noremap! <M-k> <Up>
??? noremap! <M-h> <left>
??? noremap! <M-l> <Right>
??? ??????
??? <作用范圍> <鍵位> <功能>
? 其中,map!綁定的鍵盤映射,作用于所有模式;inoremap!綁定的映射,僅作用于插入模式 標記:您可以在當前光標處作一個標記,以便快速返回
??? m<標記名稱> 定義標記。標記名稱為一個字符
??? `<標記名稱> 返回標記 例子:
? ??? ? ??mx 將當前光標處定義為標記 x `x 返回標記 x 瀏覽
??? <Ctrl+f> 下翻一頁 <Ctrl+d> 下翻半頁
??? <Ctrl+b> 上翻一頁 <Ctrl+u> 上翻半頁
??? gg 文件首行
??? G 文件末行
??? <行號>G 按行號轉到相應行
??? <1~100>% 按百分比轉到相應的行數
??? zz 將光標所在行調整至頁面中間
??? <Ctrl+e> 下卷一行
??? <Ctrl+y> 上卷一行 編輯
????x 剪切當前字符
??? dd 剪切當前行
??? y 復制可視模式選取字符
??? yy 復制當前行
??? p 在光標后粘貼 P 在光標前粘貼

????u 撤消
??? <ctrl+r> 重做

????<Ctrl+y> 逐字克隆上一行內容
??? <Ctrl+e> 逐字克隆下一行內容
寄存器操作 Vim可以將不同字段剪切或復制到不同寄存器中,您可以從不同寄存器中取出內容后粘貼 "<寄存器名稱> 按下“"”鍵和另一個字符鍵,便可以定義一個寄存器 定義寄存器后直接進行操作
??? "ayy 將當前行復制到寄存器 a 中
??? "ap 將寄存器 a 中的內容粘貼到光標之后 在插入模式下,使用快捷鍵:<Ctrl+r><寄存器名稱> 輸入指定寄存器內容 通常情況下,寄存器 + ( " + Shift+= )對應X下的剪貼板。您在其它程序中復制的內容,可以使用?"+p?粘貼
到Vim中;您在Vim中,可以使用?"+y?將內容復制到剪貼板,再粘貼到其它程序中 搜索和替換:按下 / 鍵,編輯器底部會出現 / 符號,接著輸入字符串,便可以進行搜索 n 搜索下一個 N 搜索上一個 :s/vivian/sky/ 替換當前行第一個 vivian 為 sky :s/vivian/sky/g 替換當前行所有 vivian 為 sky :n,$s/vivian/sky/ 替換第 n 行開始到最后一行中每一行的第一個 vivian 為 sky :n,$s/vivian/sky/g 替換第 n 行開始到最后一行中每一行所有 vivian 為 sky (n 為數字,若 n 為 .,表示從當前行開始到最后一行) :%s/vivian/sky/(等同于 :g/vivian/s//sky/) 替換每一行的第一個 vivian 為 sky :%s/vivian/sky/g(等同于 :g/vivian/s//sky/g) 替換每一行中所有 vivian 為 sky 可以使用 # 作為分隔符,此時中間出現的 / 不會作為分隔符 :s#vivian/#sky/# 替換當前行第一個 vivian/ 為 sky/ 刪除文本中的^M 在vi中處理:首先使用vi打開文件,然后按ESC鍵,接著輸入命令:%s/^V^M//。? 或者寫一個shell程序:cat filename | tr -d"^V^M" > newfile。其中,^V和^M指的是Ctrl+V和Ctrl+M。必須要手工進行輸入 命令模式下:
  • :w 可以將更改寫入文件
  • :q 可以退出編輯器
  • 在命令后面追加一個!可以用來強制執行命令,比如變修改后不想保存直接退出
  • 用!引導一個shell命令,則可以從vim臨時切換到shell中,執行一個shell,比如 ?:!ls
多欄窗口與標簽頁:
  • :new 可以新建一個窗口,相當于新建一個新文本,用:vnew則是垂直方向新建一個
  • :split 可以將當前文件分為兩欄,用:vsplit則是垂直分為兩欄
  • 先按下 <ctrl+w> 鍵,再按下方向鍵 j 、 k 、 l 、 h ,您可以切換到其它欄;在當前欄中使用 :q 命令,可
    以退出當前欄,也可以使用其它命令,對當前欄作出修改
  • 希望當前命令在所有欄中生效,您可以在命令的末尾追加 all,例如?:<命令>all
  • :file filename可以用來給新生成的窗口文件命名
安裝了ctags后: 在光標處使用ctrl + ] 可以查看類、函數等的聲明 使用ctrl + t 可以跳回原來的位置

vim 豎向分割窗口時調整窗口大小的操作

看過的教程中,關于分割窗口的操作,一般都只說到橫向分割窗口的各種操作:

CTRL_W + 窗口邊界上移

CTRL_W - 窗口邊界下移

CTRL_W _ 將當前窗口調到最大

CTRL_W = 平分窗口

可是我多數時候傾向用vsp。這時,按鍵是不同的:

CTRL_W < 窗口邊界左移

CTRL_W > 窗口邊界右移

CTRL_W | 將當前窗口調到最大

CTRL_W = 平分窗口,這個快捷鍵是通用的。

轉載于:https://www.cnblogs.com/amghost/p/3572167.html

總結

以上是生活随笔為你收集整理的VIM 学习笔记的全部內容,希望文章能夠幫你解決所遇到的問題。

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