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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux 自定义vi dd,Vim常用命令及配置方案

發布時間:2024/9/27 linux 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux 自定义vi dd,Vim常用命令及配置方案 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

幾句話

很久之前就接觸到vim,初學那陣覺得vim很酷炫,但確實對新手不是很友好。我也就簡單看了下基本操作就上手了,但又不是長期在vim下工作,這就導致了每一次重新使用vim都要再去回溫下基本操作,很是難受,所以就趁這個機會把基本操作都記錄下來,一來可以當做自己的筆記,二來希望可以幫到同樣和我一樣用過vim但卻忘得差不多的人。另外,這里也記錄一下自己的vim配置,這個配置可能并沒有其他網友分享的那么強大,但至少足夠簡單,能夠提高自己編碼的效率。

vim常用命令

首先先簡單梳理一下vim的工作模式。vim有三種模式,分別是命令模式(Command mode),輸入模式(Insert mode)和底線命令模式(Last line mode)。

簡單來講就是,當我們剛打開vim,或者使用vim打開了一個文件,終端上顯示著文件的內容,這時候就是命令模式(如上圖就是剛打開一個文件的情況,此時光標位于第一行行首處),在現在的情況下,鍵盤輸入小寫的i a o 或者大寫I A O中的其中一個,就可以進入輸入模式,各個按鍵的具體意義如下:

按鍵具體意義

i

從目前光標所在處輸入

I

在目前所在行的第一個非空格符處開始輸入

a

從目前光標所在的下一個字符處開始輸入

A

從光標所在行的最后一個字符處開始輸入

o

在目前光標所在的下一行處輸入新的一行

O

在目前光標所在的上一行處輸入新的一行

r

繼續輸入一個字符以取代光標所在處后面單個字符,而后返回命令模式

R

新輸入的字符會一直取代光標所在處后面的字符

當我們使用上述按鍵進入輸入模式,配合方向鍵編輯好文件內容后,使用ESC鍵可退出輸入模式,回到命令模式,vim的大部分命令都是在命令模式下使用。

命令模式下的按鍵十分豐富,主要的操作為光標移動、復制粘貼、搜索替換等

光標移動的基本按鍵如下:

按鍵具體意義

h 或 向左箭頭鍵(←)

光標向左移動一個字符

j 或 向下箭頭鍵(↓)

光標向下移動一行

k 或 向上箭頭鍵(↑)

光標向上移動一行

l 或 向右箭頭鍵(→)

光標向右移動一個字符

在上面的基礎上,如果你想光標的位置一次移動多行或者在同一行上移動多個字符,可以有以下幾種方法:

直接輸入數字并在其后輸入相應的方向,例如輸入20j或20↓表示光標向下移動20行,輸入20l或20→表示光標向右移動20個字符。

輸入數字后加空格可以使光標向右移動n個字符,例如20[space]即和上面第一條的20l或20→達到相同的效果,為了簡單一點,我個人認為如果不是vim深度用戶的話,我們可以直接放棄記憶這個命令。同樣性質的命令還有20[enter],表示光標向下移動20行

ctrl+f/b/d/u可以用來上下翻頁,但是對大部分人來說沒有必要去記這個繁瑣的命令,我個人更加推薦使用鍵盤上的Page Up和Page Down來上下翻頁

0和$可以用來移動光標到行首或行尾,同樣,我還是認為沒必要去記憶這個命令,而是直接使用Home和End來達到同樣的效果

另外,還有一些很方便的操作值得單獨拎出來進一下:

按鍵(區分大小寫)具體意義

H(High)

光標移動到這個屏幕的最上方那一行的第一個字符

M(Middle)

光標移動到這個屏幕的中央那一行的第一個字符

L(Low)

光標移動到這個屏幕的最下方那一行的第一個字符

G

移動到這個文件的最后一行(常用)

gg

移動到這個文件的第一行(常用)

nG

移動到這個文件的第n行

復制粘貼的操作比較繁雜,但也并不是沒有規律可循,具體如下:

按鍵具體意義

x或[delete]

刪除光標后面的單個字符,

X或[backspace]

刪除光標前面的單個字符

nx

連續向后刪除 n 個字符。同理,可以有大寫的nX

dd

刪除光標所在的一整行

ndd

刪除光標向下的n行(包括光標那一行)

d+某個位置

刪除光標處到那個位置的所有內容。例如d1G刪除從光標到第一行的所有內容,dG刪除從光標到最后一行的所有內容,d$或d[End]刪除從光標處到行尾的所有字符。以此類推

yy

復制光標所在的那一行(常用)

nyy

復制光標向下的n行(包括光標那一行)

y+某個位置

復制選取的范圍,選取范圍如前面d+某個位置所示

p

將已復制的內容在下一行粘貼

P

將已復制的內容在上一行粘貼

J

將光標所在行與下一行的數據結合成同一行,即在刪除該行和下一行之間的換行符。

u

復原前一個動作(常用)

[ctrl]+r

重做上一個動作(常用)

.(小數點)

重復前一個動作(常用)

搜索替換部分為了簡潔一點,就只提一下搜索,替換部分就不涉及了

按鍵具體意義

/[要搜索的字符]

向光標之下尋找一個匹配的字符串。如/int會搜索匹配int

?[要搜索的字符]

向光標之上尋找一個匹配的字符串。

在上面搜索字符串的基礎上按回車鍵,就可使光標跑到搜索到的字符串處,這時輸入n光標就會跳到下一個或上一個匹配的字符串處,具體是上還是下取決于剛才執行的是/string還是?string,而輸入大寫的N則是與小寫n相反的方向。(注意,當執行n到達文件底部時就會循環跳到頂部,反之亦然)

好了,現在我們已經能夠編輯文件內容了,那怎樣保存文件呢?一般情況下,當需要保存或退出文件時,我們習慣性按一下ESC鍵以進入命令模式(當然如果已經在命令模式下也習慣性按一下吧),這時輸入:加相應的指令就能對文件執行相應的操作,這里需要注意一點的就是,如果你對該文件沒有相應的權限,那么執行相關操作將會被拒絕,例如我在Ubuntu下想要修改我沒有權限的文件,vim會提示權限拒絕,我需要執行sudo vim filename以root權限進入vim才能修改文件。

按鍵具體意義

:w

保存編輯的內容

:w!

若文件屬性為只讀,強制保存編輯的內容,需要相應的權限

:q

退出vim

:q!

強制離開不保存編輯過的內容

:wq

保存后退出vim

:wq!

強制保存后退出vim

ZZ

若文件沒有改動,則不儲存離開,若文件已經被改動過,則儲存后離開!

:w filename

另存為filename

:! command

暫時離開vim到命令行模式下執行 command 的顯示結果!例如『:! ls /home』即可在 vi 當中察看 /home 底下以 ls 輸出的檔案信息!

配置方案

這個只是一個簡單的vim配置,留下了一些我認為必要的功能,沒有那么多花俏的功能,也不像網上一些文章分享的配置成酷炫的IDE,我個人一貫的原則就是簡潔明了,使用方便即可。

使用方法:保存成名為.vimrc的文件放在~目錄下,即用戶個人目錄下即可。

"********************************************************

" 一般性配置 *

"********************************************************

"關閉vim一致性原則,避免以前版本的一些bug和局限

set nocompatible

"顯示行號

set number

"設置在編輯過程中右下角顯示光標的行列信息

set ruler

"在狀態欄顯示正在輸入的命令

set showcmd

"設置歷史記錄條數

set history=1000

"設置取消備份 禁止臨時文件的生成

set nobackup

set noswapfile

"設置匹配模式,類似當輸入一個左括號時會匹配相應的那個右括號

set showmatch

"設置C/C++方式自動對齊

set autoindent

set cindent

"開啟語法高亮功能

syntax enable

syntax on

"指定配色方案為256色

set t_Co=256

"設置搜索時忽略大小寫

set ignorecase

"實時顯示搜索結果

set incsearch

"配置backspace的工作方式

set backspace=indent,eol,start

"設置在vim中可以使用鼠標

set mouse=a

"設置tab寬度

set tabstop=4

"設置自動對齊空格數

set shiftwidth=4

"設置退格鍵時可以刪除4個空格

set smarttab

set softtabstop=4

"將tab鍵自動轉換為空格

set expandtab

"設置編碼方式

set encoding=utf-8

"自動判斷編碼時 依次嘗試以下編碼

set fileencodings=ucs-bom,utf-8,cp936,gb18030,big5,euc-jp,euc-kr,latin1

"檢測文件類型

filetype on

"針對不同的文件采取不同的縮進方式

filetype indent on

"啟動智能補全

filetype plugin indent on

"括號自動補全

inoremap ( ()i

inoremap [ []i

inoremap { {}i

inoremap < <>i

總結

以上是生活随笔為你收集整理的linux 自定义vi dd,Vim常用命令及配置方案的全部內容,希望文章能夠幫你解決所遇到的問題。

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