Ubuntu下vim的配置


由於剛開始學習Linux,對佷多操作還不熟悉,遇到了一些困難,在這里記錄一下。

    1  安裝vim。俺我現在的理解,vim有控制台版本和GUI版本。控制台版本貌似是Ubuntu自帶的,可以在終端輸入 vim執行一下。GUI版本需要自己下,在終端執行

sudo apt-get install vim-gtk即可安裝。

    2  隨后是設置一些屬性。

在終端輸入 sudo -s進入根目錄,

隨后輸入密碼,然后是cd etc/vim

接着是 vim vimrc

此時便會出現etc/vim/vimrc里面的內容。大致如下:

大致如下:

" All system-wide defaults are set in $VIMRUNTIME/debian.vim (usually just
" /usr/share/vim/vimcurrent/debian.vim) and sourced by the call to :runtime
" you can find below. If you wish to change any of those settings, you should
" do it in this file (/etc/vim/vimrc), since debian.vim will be overwritten
" everytime an upgrade of the vim packages is performed. It is recommended to
" make changes after sourcing debian.vim since it alters the value of the
" 'compatible' option.

" This line should not be removed as it ensures that various options are
" properly set to work with the Vim-related packages available in Debian.
runtime! debian.vim

" Uncomment the next line to make Vim more Vi-compatible
" NOTE: debian.vim sets 'nocompatible'. Setting 'compatible' changes numerous
" options, so any other options should be set AFTER setting 'compatible'.
"set compatible

" Vim5 and later versions support syntax highlighting. Uncommenting the next
" line enables syntax highlighting by default.
"syntax on

" If using a dark background within the editing area and syntax highlighting
" turn on this option as well
"set background=dark

" Uncomment the following to have Vim jump to the last position when
" reopening a file
"if has("autocmd")
" au BufReadPost * if line("'\"") > 0 && line("'\"") <= line("$")
"    \| exe "normal g'\"" | endif
"endif

" Uncomment the following to have Vim load indentation rules according to the
" detected filetype. Per default Debian Vim only load filetype specific
" plugins.
"if has("autocmd")
" filetype indent on
"endif

" The following are commented out as they cause vim to behave a lot
" differently from regular Vi. They are highly recommended though.
"set showcmd        " Show (partial) command in status line.
"set showmatch        " Show matching brackets.
"set ignorecase        " Do case insensitive matching
"set smartcase        " Do smart case matching
"set incsearch        " Incremental search
"set autowrite        " Automatically save before commands like :next and :make
"set hidden             " Hide buffers when they are abandoned
"set mouse=a        " Enable mouse usage (all modes) in terminals

" Source a global configuration file if available
" XXX Deprecated, please move your changes here in /etc/vim/vimrc
if filereadable("/etc/vim/vimrc.local")
source /etc/vim/vimrc.local
endif

      然后按下i鍵(插入命令),此時在最下面會出現“--插入--”的字樣,隨后將下列語句插入到最后(可以根據注釋結合自己的需要來取舍, 不一定要全部寫入)

set ai                          " 自動縮進,新行與前面的行保持—致的自動空格
set aw                        " 自動寫,轉入shell或使用:n編輯其他文件時,當前的緩沖區被寫入
set flash                     " 在出錯處閃爍但不嗚叫(缺省)
set ic                          " 在查詢及模式匹配時忽賂大小寫
set nu        
set number                " 屏幕左邊顯示行號
set showmatch          " 顯示括號配對,當鍵入“]”“)”時,高亮度顯示匹配的括號
set showmode           " 處於文本輸入方式時加亮按鈕條中的模式指示器
set showcmd             " 在狀態欄顯示目前所執行的指令,未完成的指令片段亦會顯示出來
set warn/nowarn        " 對文本進行了新的修改后,離開shell時系統給出顯示(缺省)
set ws/nows               " 在搜索時如到達文件尾則繞回文件頭繼續搜索
set wrap/nowrap        " 長行顯示自動折行
colorscheme evening " 設定背景為夜間模式
filetype plugin on        " 自動識別文件類型,自動匹配對應的, “文件類型Plugin.vim”文件,使用縮進定義文件
set autoindent            " 設置自動縮進:即每行的縮進值與上一行相等;使用 noautoindent 取消設置
set cindent                 " 以C/C++的模式縮進
set noignorecase       " 默認區分大小寫
set ruler                     " 打開狀態欄標尺
set scrolloff=5            " 設定光標離窗口上下邊界 5 行時窗口自動滾動
set shiftwidth=4          " 設定 << 和 >> 命令移動時的寬度為 4
set softtabstop=4       " 使得按退格鍵時可以一次刪掉 4 個空格,不足 4 個時刪掉所有剩下的空格)
set tabstop=4             " 設定 tab 長度為 4
set wrap                     " 自動換行顯示
syntax enable
syntax on                    " 自動語法高亮

然后按ESC退出編輯狀態,下面的“--插入--”消失。

接着按:w保存文件

隨后是:q退出vim返回終端

 

如此便完成了對於vim的安裝和設定。

附一些vim的相關知識:

一  基礎知識

Vim最令人混淆的特征之一是她擁有3種模式.

插入模式: 輸入文本

命令模式:執行命令. 也稱為正常模式.

Ex模式: 執行 冒號 命令

插 入模式並不是缺省的模式,您必須按下i來進入插入模式,在屏幕上輸入一些文字. 按下按鈕將從插入模式轉到命令模式.命令模式用於移動和操縱文本,有時以非常有趣的方式進行. Ex模式用於執行冒號命令,比如保存,查找/替換以及配置vim等.欲保存文本,您只需要在正常模式下輸入:進入Ex模式並輸入:w filename.退出vim請執行冒號命令:q.總結如下,
vim (啟動vim)
i (進入插入模式)
<輸入文本>
(回到命令模式)
:w filename (保存文件為'filename')
:q (退出vim)
vim filename (打開您剛才在vim中保存的文件)

請記住,最好的學習vim的方式是使用她.您可以通過內置的vim教程來學習vim的基本使用,只需要在終端中輸入vim-tutor (在dapper中請輸入vimtutor).

二  常用命令

當你進入vi 時,會首先進入命令方式(同時也是編輯方式)。
按下I就進入插入方式,用戶輸入的可視字符都添加到文件中,顯示在屏幕上。
按下ESC就可以回到命令狀態(同時也是編輯方式)。
編輯方式和命令方式類似,都是要輸入命令,
但它的命令不要以:開始,它直接接受鍵盤輸入的單字符或組合字符命令,
例如直接按下u 就表示取消上一次對文件的修改,相當於WINDOWS 下的Undo 操作。
編譯方式下有一些命令是要以/開始的,
例如查找字符串就是:/string 則在文件中匹配查找string 字符串。
在編輯模式下按下:就進入命令方式。
基本命令解釋:
1.光標命令
k、j、h、l——上、下、左、右光標移動命令。
雖然您可以在Linux 中使用鍵盤右邊的4 個光標鍵,
但是記住這4 個命令還是非常有用的。這4 個鍵正是右手在鍵盤上放置的基本位置。
nG——跳轉命令。n 為行數,該命令立即使光標跳到指定行。
Ctrl+G——光標所在位置的行數和列數報告。
w、b——使光標向前或向后跳過一個單詞。
2.編輯命令
i、a、r——在光標的前、后以及所在處插入字符命令(i=insert、a=append、r=replace)。
cw 、dw—— 改變( 置換)/刪除光標所在處的單詞的命令 (c=change 、d=delete)。
x、d$、dd——刪除一個字符、刪除光標所在處到行尾的所有字符以及刪除整行的命令。
3.查找命令
---- /string、?string——從光標所在處向后或向前查找相應的字符串的命令。
4.拷貝復制命令
---- yy、p——拷貝一行到剪貼板或取出剪貼板中內容的命令。
常用操作:
無論是開啟新檔或修改舊文件,都可以使用vi,所需指令為:
  $ vi filemane
如果文件是新的,就會在熒幕底部看到一個信息,告訴用戶正在創建新文件。
如果文件早已存在,vi 則會顯示文件的首廿四行, 用戶可再用光標(cursor)上下移動。


上面是一個經vi 開啟的模擬文件,一行開始處的波折號(~)表示文件的結尾。
—指令i 在光標處插入正文
—指令I 在一行開始處插入正文
—指令a 在光標後追加正文
—指令A 在行尾追加正文
—指令o 在光標下面新開一行
—指令O 在光標上面新開一行
在插入方式下,不能打入指令,必需先按〈Esc〉鍵,返回命令方式。
假若戶不知身處何態,也可以按〈Esc〉鍵,不管處於何態,都會返回命令方式。
在修改文件時,如何存檔及退出指定文件都非常重要。在vi 內,行使存檔或退出的指令時,
要先按冒號(:),改變為命令方式,用戶就可以看見在熒幕左下方,出現冒號(:),
顯示vi 已經改為指 令態,可以進行存檔或退出等工作。
:q!放棄任何改動而退出vi,也就是強行退出
:w 存檔
:w! 對於只讀文件強行存檔
:wq 存檔並退出vi
:x 與wq 的工作一樣
:zz 與wq 的工作一樣刪除正文
刪除或修改正文都是利用編輯方式,故此,下面所提及的指令只需在編輯方式下,
直接鍵入指令即行。
—x 刪除光標處字符(Character)
—nx 刪除光標處後n 個字符
—nX 刪除光標處前n 個字符
—ndw 刪除光標處下n 個單詞(word)
—dd 刪除整行
—d$或D 刪除由光標至該行最末
—u 恢復前一次所做的刪除
當使用vi 修改正文,加減字符時,就會采用另一組在編輯方式下操作的指令。
— r char 由char 代替光標處的字符
—Rtext〈Esc〉由text 代替光標處的字符
—cwtext〈Esc〉由text 取代光標處的單詞
—Ctext〈Esc〉由text 取代光標處至該行結尾處
—cc 使整行空白,但保留光標位置,讓你開始打入
—如刪除指令一樣,在指令前打入的數,表示執行該指令多少次。

要檢索文件,必需在編輯方式下進行。
—/str〈Return〉向前搜尋str 直至文件結尾處
—?str〈Return〉往後搜尋str 直至文件開首處
—n 同一方向上重復檢索
—N 相反方向上重復檢索
—vi 纏繞整個文件,不斷檢索,直至找到與模式相匹配的下一個出現。
全程替換命令:
:%s/string1/string2/g 在整個文件中替換“string1”成“string2”。
如果要替換文件中的路徑:
使用命令“:%s#/usr/bin#/bin#g”可以把文件中所有路徑/usr/bin 換成/bin。
也可以使用命令“:%s/\/usr\/bin/\/bin/g”實現,其中“\”是轉義字符,表明其后的“/”字符是具有實際意義的字符,不是分隔符。

同時編輯2 個文件,拷貝一個文件中的文本並粘貼到另一個文件中:
命令如下:
---- vi file1 file2
---- yy 在文件1 的光標處拷貝所在行
---- :n 切換到文件2 (n=next) 或者按ctrl+ww,就在兩個文件間切換。
---- p 在文件2 的光標所在處粘貼所拷貝的行
---- :n 切換回文件1 (Ctrl +WW 也可實現切換)

將文件中的某一部分修改保存到臨時文件,
例如僅僅把第20~59 行之間的內容存盤成文件/tmp/1,我們可以鍵入如下命令。
---- vi file
---- :20,59w /tmp/1

如果要在 vi 執行期間,轉到shell 執行,使用驚嘆號(!)執行系統指令,
例如在vi 期間,列出當前目錄內容,可以鍵入 :
:!ls
另一方面,用戶可以在主目錄中創建.exrc 環境文件,用set 打入選項,
每次調用vi 時,就會讀入.exrc 中的指令與設置。下面是.exrc 環境文件的實例:
set wrapmarging=8
set showmode
set autoindent


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM