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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

Vim编辑器学习笔记

發布時間:2023/12/10 编程问答 53 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Vim编辑器学习笔记 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

有一個有趣的說法,說世界上的程序員分三種,一種使用 Emacs,一種使用 vim,剩余的使用其它編輯器——完全無視 Ultraedit / Notepad++ 等編輯器的存在。今天,我懷著朝圣的心態,嘗試了一下 vim 這個神器,發現它不像傳說中那么深奧神秘和枯燥,也還算較為容易上手。先把學習過程記錄在此,和各位同學共享共勉。


Vim的前世今生

Long long ago(上世紀70甚至80年代之前),UNIX 用戶都是用廉價的終端機通過電話線連到 UNIX 服務器上的,因為傳輸速率慢,所以當時的編輯器都是行模式編輯——每次只能顯示操作一行。ed 是 UNIX 上最古老最基本的行模式編輯器,ex 是ed 的擴展,而 vi 構建在 ex 之上,并且引入了大家所熟悉的全屏編輯模式。發展至今,vi 已成為 Linux 最常用的編輯器,很多 Linux 發行版都默認安裝了 vi。

vi 是 visual interface 的縮寫,vim 是 vi IMproved (增強版的 vi ),但最初,vim 是 vi IMitation(冒牌的 vi )。VIM 是一個超級超級強大的文本編輯器,和 Emacs 一起,被業界視為宇宙中最強大的兩個編輯器。


關于Vim,你必須知道的概念

和 Notepad++ 不同,vi(vim) 是有模式的。有人總結了很多模式,比如低行模式、normal 模式、編輯模式、選擇模式、鼠標模式等。我個人覺得,倒不如簡單地分為命令模式和編輯模式,而在命令模式下可以把命令分為很多類型。編輯模式下,使用 vi(vim) 和使用 Notepad++ 幾乎一樣。當需要設置、保存、查找、替換、定位等操作時,可以切換至命令模式,直接輸入命令。任何情況下,按 Esc 鍵退回到命令模式;在命令模式下,按 i 或 a 鍵即可進入編輯模式。

除了有模式這個特色之外,vim還有很多高級功能,比如寄存器、宏、書簽、映射等。在這里,我們只說一下寄存器。vim 里面的寄存器可以用來保存拷貝的文本、記錄的宏、設置的書簽等等,一般的編輯器都只有一個剪切板(MS Office 加入了多個剪切板),而 vim 和 Emacs 編輯器中的多寄存器可以實現多個剪切板的功能。vim 中有九類寄存器:

  • 無名寄存器("):最近一次刪除/修改/替換操作的文本都會放入這個寄存器
  • 10個數字寄存器(0-9):拷貝或者刪除的文本存入這些寄存器,這些寄存器是循環使用的,在每次存入內容到寄存器1時,原有的內容會依次存入到后一個寄存器中
  • 小刪除寄存器(-):刪除內容少于一行時放入這個寄存器
  • 26個命名寄存器(a-z或A-Z):大小寫無關。這些寄存器可以在拷貝或者刪除等操作中指定使用
  • 四個只讀寄存器(:.%#):特殊用途
  • 表達式寄存器(=):特殊用途
  • 選擇和拖放寄存器(*+~):用于與系統剪切板交互,以及接收拖放操作的內容
  • 黑洞寄存器(_):放到這里面的內容都被丟棄,這樣可以刪除或拷貝時不影響其它寄存器
  • 最后一次搜索模式寄存器(/):保存最后一次搜索的正則表達式

  • 在windows環境下體驗vim

    去 vim.org 下載 windows 平臺的 gvim 安裝程序(最新版本大概是8.0),安裝后運行 gvim,估計你會被這樣一個界面丑哭(要是你不小心少按了一個字母 g,運行了 vim,你可能永遠都不想再看到它了)。

    但是,千萬不要輕易放棄,盡管這是一個追求顏值的時代。試試在鍵盤輸入:

    :colo murphy

    看起來是不是舒服一點了呢?除了murphy,還有很多種風格可選,輸入colo按空格,再按Tab,可顯示全部風格。繼續操作,只需要幾行命令,就會讓gvim變成這個樣子


    如果再按裝上常用的插件,比如,可以從代碼中提取類結構的taglist插件,gvim瞬間就成了這個樣子:


    vi(vim)常用命令

    • 打開文件、保存、關閉文件
    :w //保存文件 :w file_name //保存至file_name文件 :q //退出編輯器,如果文件已修改請使用下面的命令 :q! //退出編輯器,且不保存 :wq //退出編輯器,且保存文件 :x //退出,如果文件更改則保存 ZZ //退出,如果文件更改則保存 :e file_name //編輯文件名為file_name的文件
    • 插入文本或行
    a //在當前光標位置的右邊添加文本 i //在當前光標位置的左邊添加文本 A //在當前行的末尾位置添加文本 I //在當前行的開始處添加文本(非空字符的行首) O //在當前行的上面新建一行 o //在當前行的下面新建一行 R //替換(覆蓋)當前光標位置及后面的若干文本 J //合并光標所在行及下一行為一行(依然在命令模式)
    • 移動光標
    1. 使用上下左右方向鍵 2、命令模式下h -> 向左j -> 向下k -> 向上l -> 向右空格鍵 -> 向右退格鍵 -> 向左回車鍵 -> 移動到下一行首減號鍵 -> 移動到上一行首
    • 刪除、恢復字符或行
    x //刪除當前字符 nx //刪除從光標開始的n個字符 dd //刪除當前行 ndd //向下刪除當前行在內的n行 u //撤銷上一步操作 U //撤銷對當前行的所有操作
    • 搜索
    /string //向光標下搜索string字符串 ?string //向光標上搜索string字符串 n //向下搜索前一個搜素動作 N //向上搜索前一個搜索動作
    • 跳轉至指定行
    n+ //向下跳n行 n- //向上跳n行 nG //跳到行號為n的行 G //跳至文件的底部
    • 復制、粘貼
    yy //將當前行復制到緩存區,也可以用 "ayy 復制,"a 為緩沖區,a也可以替換為a到z的任意字母,可以完成多個復制任務 nyy //將當前行向下n行復制到緩沖區,也可以用 "anyy 復制,"a 為緩沖區,a也可以替換為a到z的任意字母,可以完成多個復制任務 yw //復制從光標開始到詞尾的字符 nyw //復制從光標開始的n個單詞 y^ //復制從光標到行首的內容 y$ //復制從光標到行尾的內容 p //粘貼剪切板里的內容在光標后,如果使用了前面的自定義緩沖區,建議使用"ap進行粘貼
    • 替換
    :s/old/new //用new替換行中首次出現的old :s/old/new/g //用new替換行中所有的old :n,m s/old/new/g //用new替換從n到m行里所有的old :%s/old/new/g //用new替換當前文件里所有的old

    配置vim

    來吧,就用gvim編輯gvim的配置文件C:\Program Files (x86)\Vim_vimrc(操作系統或許會保護這個文件的讀寫權限,建議使用系統管理權限運行C:\Program Files (x86)\Vim\vim80\gvim.exe),在后面追加:

    "處理文本中顯示亂碼 set encoding=utf-8 set fileencodings=utf-8,chinese,latin-1 if has("win32")set fileencoding=chinese elseset fileencoding=utf-8 endif"處理菜單及右鍵菜單亂碼 source $VIMRUNTIME/delmenu.vim source $VIMRUNTIME/menu.vim"處理consle輸出亂碼 language messages zh_CN.utf-8"配色方案:koehler/murphy colo murphy"字體設置 "set guifont=courier_new:h12"總是顯示標簽。0:不顯示;1:多于1個時顯示" set showtabline=2"開啟行號 set nu!"setnumber"開啟自動縮進, 7.3以上版本已自動開啟" set autoindent"縮進寬度為4個字符" set shiftwidth=4"tab寬度為4個字符" set tabstop=4"編輯時將所有tab替換為空格" set et"按一次Backspace就刪除4個空格" set smarttab"Gvim啟動后窗口最大化 autocmd GUIEnter * simalt ~x

    保存退出,再次打開gvim,你會發現世界變得如此美好!


    安裝taglist插件

    第一步,從 https://sourceforge.net/projects/ctags/files/ctags/5.8/ctags58.zip/download 下載ctags,解壓后將其中的ctags.exe 復制到gvim.exe 所在的目錄,在我這里是C:\Program Files (x86)\Vim\vim80

    第二步,從 http://www.vim.org/scripts/script.php?script_id=273 下載taglist.zip文件,解壓,將doc\taglist.txt 文件復制到 C:\Program Files\Vim\vimfiles\doc下,
    將plugin\taglist.vim 文件復制到 C:\Program Files\Vim\vimfiles\plugin下。

    第三步,以管理員身份運行cmd,cd至C:\Program Files\Vim\vim80目錄,運行gvim.exe,命令模式下輸入":helptags C:\Program Files\Vim\vimfiles\doc",就會在C:\Program Files\Vim\vimfiles\doc下生成tags文件。

    第四步,重啟gvim.exe,打開一個源碼文件,執行命令:Tlist,大功告成。

    總結

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

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