Vim學習筆記整理

2021-02-19 thelostworld

一、vim幾種模式:


normal模式:進入vim不能編輯或者少按esc的不能編輯的模式;

編輯模式:通過insert(插入)、append(追加)或者少新建一行o等等可以編輯內容模式;

命令模式:類似退出 :wq這種模式;

可視化模式:visual模式;(Visual模式一般用來塊狀選擇文本)類似於我們的shift+方向鍵選擇;

                    Normal模式下使用v進入visual選擇

                    使用V選擇行

                    使用ctrl+v進行方塊選擇

二、編輯寫入相關:

1、編輯寫入相關操作:

1)插入、追加、新建

小寫

大寫

2)編輯的一些相關操作:

糾錯操作(這個同時也適用shell終端)

ctrl+h刪除上一個字符ctrl+w刪除上一個單詞ctrl+u刪除當前行

終端shell一些好的操作:

ctrl+a移動到行首ctrl+e移動到行末尾ctrl+b向前移動ctrl+f向後移動

2、保存退出相關操作

1)保存退出

先按esc:wq---->(wirte&quit)shift+ZZ---->(wirte&quit)

2)退出

3)強制退出

三、快捷操作:


1、設置行號:

2、分屏操作:

命令模式: :vs---->橫向分屏(vertical split)         :vp---->縱向分屏(split)          想要退出對應的模式::q

3、全局替換:

命令模式::% s/java/c++/g ---->全局替換(%全部字符、s替換、將Java替換c++、g全局)

4、快速切換insert和normal模式:

insert切換normal模式normal切換insert模式

5、vim移動快捷鍵:

普通的移動:左(h) ,下(j) , 上(k) ,右(l) ,移動也不會讓手指脫離主鍵盤區

6、在單詞之間移動:

w/W移到下一個word/WORD開頭。e/E 下一個word/WORD尾;b/B回到上一個word/WORD開頭,可以理解為backword;word指的是以非空白符分割的單詞,WORD以空白符分割的單詞;

7、行間搜索快速移動:

使用f{char}可以移動到char字符上, t移動到char的前一個字符如果第一次沒搜到 ,可以用分號(;)/逗號(,)繼續搜該行下一個/上一個大寫的F表示反過來搜前面的字符

8、Vim水平移動

0移動到行首第一一個字符, ^移動到第一個非空白字符$移動到行尾,g_移動到行尾非空白字符記住常用的0和$就可以滿足日常需求了

9、Vim頁面移動

翻頁命令太多, 2/8定律,記住常見的就能滿足需求gg/G移動到文件開頭和結尾,你可以使用ctrl+o快速返回H/M/L跳轉到屏幕的開頭(Head) ,中間(Middle)和結尾(Lower)Ctrl+u. ctrl+f..上下翻頁. (upword/forward)。zz 把屏幕置為中間

10、Vim快速刪除:

Vim在normal模式下使用x快速刪除一一個字符使用d (delete)配合文本對象快速刪除一個單詞daw (d aroundword)d和x都可以搭配數字來執行多次

11、Vim快速修改:

常用有三個, r (replace) , C (change) , s(substitute)normal模式下使用r可以替換一個字符。s替換並進入插入模式使用c配合文本對象,我們可以快速進行修改

12、Vim查詢:

使用/或者?進行前向或者反向搜索使用n/N跳轉到下一個或者上一一個匹配使用*或者

上面是一些常用操作的整理。

----分割線-

下面是個人安裝的vim和相關插件的記錄:

MacVim下載地址:

https://github.com/macvim-dev/macvim/releases/tag/snapshot-161

直接安裝:

下載插件:

創建目錄:

克隆插件

git clone https://github.com/gmarik/Vundle.vim.git ~/.vim/bundle/Vundle.vim

配置和設置插件:

詳細的配置文件

"*****************************用戶自定義設置*******************************""--單詞補全" u [小寫]                   --單步復原 [非插入模式]" U [大寫]                   --整行復原 [非插入模式]
" :set syntax=cpp --手動選擇語法高亮 [或 :set filetype=cpp]" :%!xxd --轉儲二進位文件,以十六進位形式顯示" :%!xxd -r --還原二進位文件
"********************************設置快捷鍵*******************************"" Ctrl+D 刪除當前行mapddaimapdda
" Ctrl+N 顯示緩衝區的下個文件並留在插入模式[插入模式]map:confirm bnextAimap:confirm bnextA


"********************************設置編碼*******************************""設置換行編碼:set fileformats=unix,dos,mac
"設置Vim 內部使用的字符編碼方式,包括 Vim 的 buffer (緩衝區)、菜單文本、消息文本等set encoding=utf-8
"設置文件編碼if has("win32")set fileencoding=chineseelseset fileencoding=utf-8endif
"Vim 啟動時會按照它所列出的字符編碼方式逐一探測即將打開的文件的字符編碼方式"並把fileencoding設置為探測出的編碼方式set fileencodings=ucs-bom,utf-8,chines
" 解決菜單亂碼source $VIMRUNTIME/delmenu.vimsource $VIMRUNTIME/menu.vim
" 解決consle輸出亂碼language messages zh_CN.utf-8
"********************************基本設置******************************"

colorscheme desert " 著色模式:灰色背景set guifont=Monaco:h14
set tabstop=4 " 設置tab鍵的寬度set shiftwidth=4 " 換行時行間交錯使用4個空格set autoindent " 自動對齊set backspace=2 " 設置退格鍵可用set cindent shiftwidth=4 " 自動縮進4空格set smartindent " 智能自動縮進set ai! " 設置自動縮進set nu! " 顯示行號set showmatch " 顯示括號配對情況set mouse=a " 啟用滑鼠set ruler " 右下角顯示光標位置的狀態行set incsearch " 查找book時,當輸入/b時會自動找到set hlsearch " 開啟高亮顯示結果set incsearch " 開啟實時搜索功能set nowrapscan " 搜索到文件兩端時不重新搜索set nocompatible " 關閉兼容模式set cursorline " 突出顯示當前行set hidden " 允許在有未保存的修改時切換緩衝區set list " 顯示Tab符,使用一高亮豎線代替set listchars=tab:\|\ " 顯示Tab符,使用一高亮豎線代替set noswapfile " 設置無交換區文件"set writebackup " 設置無備份文件set nobackup " 設置無備份文件set autochdir " 設定文件瀏覽器目錄為當前目錄set foldmethod=syntax " 選擇代碼摺疊類型set foldlevel=100 " 禁止自動摺疊set laststatus=2 " 開啟狀態欄信息set cmdheight=2 " 命令行的高度,默認為1,這裡設為2set showtabline=2 " 設置默認顯示標籤set clipboard+=unnamed " 與系統公用剪貼板set autoread " 當文件在外部被修改,自動更新該文件set scrolloff=5 " 設定光標離窗口上下邊界 5 行時窗口自動滾動set guioptions-=T " 去掉上方工具欄set autochdir " 自動切換到當前目錄"set autoread " 自動檢測並加載外部對文件的修改"set autowrite " 自動檢測並加載外部對文件的修改"set showcmd " 命令欄顯示命令 "set ignorecase smartcase " 搜索時智能忽略大小寫syntax enable " 打開語法高亮syntax on " 開啟文件類型偵測if has("gui_running") "winpos 20 20 " 指定窗口出現的位置,坐標原點在屏幕左上角 "set lines=20 columns=90 " 指定窗口大小,lines為高度,columns為寬度 "set guioptions-=m " 隱藏菜單欄 "set guioptions-=T " 隱藏工具欄 "set guioptions-=L " 隱藏左側滾動條 "set guioptions-=r " 隱藏右側滾動條 set guioptions+=b " 顯示底部滾動條 set nowrap " 設置不自動換行endif
"*****************************設置狀態欄*************************************"
let &statusline=' %t %{&mod?(&ro?"*":"+"):(&ro?"=":" ")} %1*|%* %{&ft==""?"any":&ft} %1*|%* %{&ff} %1*|%* %{(&fenc=="")?&enc:&fenc}%{(&bomb?",BOM":"")} %1*|%* %=%1*|%* 0x%B %1*|%* (%l,%c%V) %1*|%* %L %1*|%* %P'
"******************************* 引號 && 括號自動匹配*******************************"
:inoremap ( ()i:inoremap )=ClosePair(')'):inoremap { {}i:inoremap }=ClosePair('}'):inoremap [ []i:inoremap ]=ClosePair(']'):inoremap < <>i:inoremap >=ClosePair('>'):inoremap " ""i:inoremap ' ''i:inoremap ` ``i
function ClosePair(char) if getline('.')[col('.') - 1] == a:char return "\" else return a:char endifendf"配置插件set rtp+=~/.vim/bundle/Vundle.vimcall vundle#begin() Plugin 'gmarik/Vundle.vim'Plugin 'scrooloose/nerdtree'
call vundle#end()
" NerdTree才插件的配置信息""將F2設置為開關NERDTree的快捷鍵map:NERDTreeToggle""修改樹的顯示圖標let g:NERDTreeDirArrowExpandable = '+'let g:NERDTreeDirArrowCollapsible = '-'""窗口位置let g:NERDTreeWinPos='left'""窗口尺寸let g:NERDTreeSize=30""窗口是否顯示行號let g:NERDTreeShowLineNumbers=1""不顯示隱藏文件let g:NERDTreeHidden=0

接下來直接執行

安裝完成。

參考連結:

https://www.imooc.com/video/19452

公眾號:

thelostworld:

個人知乎:

https://www.zhihu.com/people/fu-wei-43-69/columns

個人簡書:

https://www.jianshu.com/u/bf0e38a8d400

相關焦點

  • VIM編輯器學習
    VIM學習方法本文引用地址:http://www.eepw.com.cn/article/151642.htm  Vim目前已經有類Unix版和Windows版,儘管vim較vi已經改良了不少,但是初次使用還是會一頭霧水,不知如何操作,所以學習vim要首先過2關。
  • 遊戲夜讀|vim,vim,vim
    已經忘記第一次安裝vim是哪一年了,可能是幾年前;插件類的不算,去官網下載再安裝,這應該是第二次。歲月痕跡斑駁,心態還是沒有本質的變化,覺得這一類東西就是:酷。只是酷的東西,更需要時間和精力去營造合適的心情。而學習曲線這一類東西則只能是參考,基於興趣、剛需,再困難也能上。
  • vim常用命令有哪些?Linux入門學習
    vim是一個文本編輯程序,沒有菜單,只有命令,且命令繁多。在運維培訓學習中,vim編輯器都有哪些知識點?有哪些命令需要掌握?(vsp)+文件名水平或垂直拆分窗口顯示兩個不同的文件退出分屏模式命令:wqall保存並退出所有屏幕命令:wq保存並退出光標所在的屏幕Ctrl+ww切換兩個屏幕 vim
  • 在數學課上用 LaTeX + Vim 運筆如飛地做筆記
    1700頁數學筆記火了!
  • 1700頁數學筆記火了!全程敲代碼,硬核小哥教你上手LaTeX+Vim(附代碼)
    本文為你整理2019年最值得關注的34個Python開源項目。又出現一位「神仙」本科生!數學課上,全程鍵盤手打1700頁筆記。速度緊追老師板書,公式、圖形一個不落。效果?雖然入門階段的學習曲線超級陡峭,但只要掌握了基本的操作方式,就會欲罷不能。下面就讓我們看一下他完成這一壯舉的具體流程,文中提到的工具下載地址,我們都附在了最後。快速上手教程我們先看看小哥的工作環境配置。
  • 留學必備學習技能——筆記該怎麼整理?
    ,你就會發現——融入全英文語言環境,已經是頭禿的第一步…緊接著,正課學習中,如果不聚精會神聽課做好筆記,一節1-2小時的課上,思緒飄一飄,定睛一看ppt都過半啦!!!1 - 康奈爾筆記法 康奈爾筆記法又叫5R筆記法,5R分別是:記錄(Record)簡化(Reduce)背誦(Recite)思考(Reflect)複習(Review)這種筆記記錄和整理方法非常適用於課堂筆記或者課後筆記整理
  • 【學習方法】整理課堂筆記的正確方式
    5.用不同顏色的筆,比如你用藍色和紅色,一般的用藍色筆寫,重要的內容如概念、公式、定理用紅色筆寫,這樣便於以後複習只需看一下提綱然後進行聯想。「趁熱打鐵」,課後即抓緊時間,對照書本、筆記,及時回憶有關的信息。實在憶不起來,可以借同學的筆記參看。這是整理筆記的重要前提,為筆記提供「可整性」。
  • 【方法】整理課堂筆記的正確方式,學習不能蠻幹
    專注於語文教育的免費公眾學習平臺。
  • 日語自學|如何整理有參考價值的學習筆記
    因為學習原因卸載了很多娛樂性的軟體,小紅書筆記也在10月中旬開始停更。應該很多人會發現我在小號上更新的絕大多數是讀書筆記和更零碎的知識點;而大號上更新的也越來越偏向課本,也逐漸走向電子化。其二,由於前期更新的筆記太過碎片,一直想重新開始(都想批量刪掉,但是因為之前記錄太多零碎的知識點沒辦法只能等待新筆記的到來)將自己的筆記進行系統且高效地整理出來分享給大家。電子版相對學習效率較高,且重複利用價值相對較高,可傳播可分享可列印。一個不折不扣的紙質黨踏入了「真香」界線。以下是我經歷的不同筆記版本。
  • Vim,牛逼
    只不過,Vim 的學習曲線相當的大,這是一個連我都不得不承認的事實。就好像彈一把吉他,一開始學起來非常痛苦,簡直想摔了它,但學會後,就能感受到樂器的無限魅力,以及學妹崇拜的小眼神。來吧,下定決心擁抱它,沒有比它更好的文本編輯器了,非常地難學,但卻不可思議地好用。
  • 正確整理課堂筆記的7種方法,快來學習一下
    如何整理課堂筆記?對課堂筆記進行整理、加工,其方法有「七」。一、憶「趁熱打鐵」,即課後抓緊時間,對照書本、筆記,及時回憶有關信息。這是整理筆記的重要前提,為筆記提供「可整性。」其中,特別要注意與課後練習,與學習目的有關的內容的修改,使筆記有「準確性」。四、編用統一的序號,對筆記內容進行提綱式的、邏輯性的排列,註明號碼,梳理好整理筆記的先後順序,使筆記有「條理性」。五、分以文字(最好是用紅筆)或符號、代號等劃分筆記內容的類別。
  • 整理英語筆記的方法
    有些童鞋牢記此話,「不惜筆墨」,有時候寫筆記費時太多導致時間的浪費;有些童鞋把筆記全寫在書上,嶄新的教科書很快就成了油抹布;還有的奔放自如,到後來筆記本成了自己也看不懂的天書……於是,常感嘆道,學習為什麼要浪費時間做筆記呢?英語學習,尤其是高階思維的培養,是離不開學習筆記的。整理筆記和摘抄的過程,就是整理思路、強化學習的過程。
  • vim命令使用總結
    vim簡介vim 是linux系統自帶的文本編輯器。vim 共有三種模式:命令模式:用vim打開文件就進入了命令模式;輸入模式:在命令模式輸入i/I/a/A/o/O就進入輸入模式;在輸入模式下按鍵esc,則退出輸入模式進入命令模式底線模式:在命令模式按下英文冒號:就進入了底線模式;二. vim
  • Linux系列教程(十)——Linux文本編輯器vim
    當我們使用的多了,會不知不覺的記住這些命令,這才是正確的學習方法。Linux命令有很多,如果初學者就想全部記住這些命令的詳細格式,會對我們產生很大的學習挫敗性,還沒記完這些命令,或許你已經喪失了學習Linux的熱情了。結束了Linux常用命令的學習,接下來我們學習Linux最常用的文本編輯器命令 vim。
  • 學霸是怎麼整理數學壓軸題筆記的,值得每一位學生學習
    其實在聰明程度一定的情況下,學習上有句話是「好記性不如爛筆頭」,在學習中筆記的整理是非常重要的,其實我們可以看一下不管是偉大的領袖,還是聰明絕頂的科學家,他們在後天的學習中筆記的整理和梳理都是每天必做的功課。
  • Vim 起步的五個技巧
    我說的學習,指的是真正意義上的學習。想要精通確實很難,所以我只想要達到熟練的水平。我使用了這麼多年的 Linux ,我會的也僅僅只是打開一個文件,使用上下左右箭頭按鍵來移動光標,切換到插入模式,更改一些文本,保存,然後退出。但那只是 Vim 的最最基本的操作。我的技能水平只能讓我在終端使用 Vim 修改文本,但是它並沒有任何一個我想像中強大的文本處理功能。
  • 想要提高學習效率,這幾個高效的筆記整理方法必須掌握
    在學習的過程中都需要花費大量的時間記憶一些概念性的,知識性的問題。在這個過程中,掌握高效的筆記整理方法能夠有效提高學習效率,進而提高學習成績!雖然曉得記筆記很重要,但還是有很多學生停留在老師說什麼就什麼,課件上有什麼就抄什麼。筆記本整理的密密麻麻,回頭複習的時候發現根本看不出重點,投入不進去。
  • 整理筆記的正確方法
  • 世界上最好的編輯器Vim:1700多頁數學筆記是如何實時完成的
    在這篇文章中,作者介紹了如何用 LaTex 和 Vim 實時做數學筆記,通過一系列炫酷的技巧,不論是表達式板書還是圖像繪製,我們都能實時跟得上。   在   機器學習   的學習過程中,很多時候都需要手動推導目標函數或最優化過程。
  • 乾貨分享|學會這8種筆記整理術,學習效率Up百分百!
    今天和大家分享本人認認真真,勤勤懇懇整理出來的8種筆記方法,學習,讀書,開會都會用得到,如何有效地做筆記才會讓自己所學發揮最大長處。其中筆記記得漂亮,整理的好,對於邏輯思考也是很好的鍛鍊,希望對你們有啟發。好筆記:邏輯性強,條理清晰,提高學習工作效率。