vi 編輯器筆記

摘要:mysql

  vi從安裝到使用linux

  vi從菜鳥到高手sql

0、 vim - Vi IMproved, a programmers text editorshell

分爲 VI和VIM,如今流行的發行版裏面VI=VIMvim

是一個文本編輯器(全部沒有圖片的文本,純文本內容,無視後綴名)ssh

不能編輯二進制文件編輯器

不能編輯目錄spa

Debian系安裝vim的時候:命令行

apt install vim生命週期

 

一、目前整個地球上只有一個地方不默認安裝vi

  Docker 鏡像Images 的容器

二、查看VI版本

  在命令行:"vi --version"

  在文本里面:":version"

三、使用步驟

1.vi filename

vi 後面加文件名  //若存在,則直接打開編輯,若 不存在,則新建一個文件

2.進入插入模式

鍵入 "i" 鍵,建議按i鍵

也可鍵入 "s"鍵,可是s鍵是刪除當前光標的字符後,再進入插入模式

3. 插入數據

4. 敲 "Esc"鍵,或者鍵入組合鍵 "^[" (Ctrl-[)進入命令模式

小訣竅:按組合鍵的時候,必定要先按前面的輔助鍵不放,而後再按功能鍵

5. 輸入 ":" ,而後鍵入 "x/wq/w/q!/q/qa/qa!"

命令

說明

狀態

x

保存並退出

 

wq

保存並退出

 

w

保存

 written

q!

強制退出並不保存

 

qa!

等價於q!

 

q

退出

 

qa

等價於q

 

  快捷退出:

  ^w   q    // Ctrl+w   q

  等價於 :q

四、狀態行

當前編輯窗口的最後一行被稱爲狀態行

用於顯示文件名

顯示行、列

顯示字符的個數

五、三種模式

  插入模式

i

進入插入模式

  命令模式

^[ 或 Esc

進入命令模式

  末行模式

:

進入末行模式

 

  插入模式

i

在當前位置插入數據

a

光標位置後面插入數據

A

本行行尾插入數據

o

光標所在行的下一行插入數據

O

光標所在行的上一行插入數據

s

刪除光標所在位置字符並在光標後插入數據

S

刪除光標所在行並在行首插入數據

cw

刪除當前光標所在單詞並進入插入模式

六、在文件中移動光標

  上下左右

h

l

j

k

  行首行尾

^

行首,非空字符位置,不包含空格

0

行首,空字符處,包含空格

$

行尾,空字符處,包含空格

g_

行尾,非空字符位置,不包含空格

  文首文尾

gg

文首

G(shift+g)

文末

 

  屏幕頭部中間底部

H(shift+h)

頂行

M(shift+m)

中間行

L(shift+l)

底行

  翻屏

^f

往下翻一屏

^b

忘上翻一屏

 

  撤銷

u

撤銷一次操做

1 change; before #19  22 seconds ago

^r

反撤銷一次操做

1 change; after #19  33 seconds ago

  刪除

x

刪除光標所在處的一個字符

dw

刪除光標所在處的一個單詞

D(shift+d)

刪除光標所在處後面全部的字符

dd

刪除當前行

Ndd

刪除N行

dw

刪除一個單詞

  複製粘貼

yy

複製一行

p

粘貼

v-w-y

複製一個單詞

v-y

複製一個字符

 

七、查找一個字符串

  鍵入 "/" 進入查找模式,而後在後面鍵入須要查找的字符串

n

跳到下一個字符串

N

跳到上一個字符串

八、替換

:s/old/new

在一行內將第一個old替換爲new

:s/old/new/g

在一行內將全部old替換爲new

:s/old/new/gc

在一行內將全部old替換爲new時每一個都確認一下

:%s/old/new/g

在文件內將全部old替換爲new

:%s/old/new/gc

在文件內將全部old替換爲new時每一個都確認一下

  小訣竅:在":"模式的時,鍵入 "^p/^n"或"↑/↓"選擇已經執行過的命令

九、簡單設置

  在 ":"模式使用

行號

set nu(number)

set nonu

只讀

set readonly

縮進

set paste

 

十、使用分級

等級

生命週期

要求

備註

第一級

能吃飯

安裝

啓動

看文檔

知道進入以後的經常使用操做

上下左右

刪除

複製

粘貼

插入

退出

 

第二級

有肉吃

各類插入你都會

移動光標滿天飛

複製粘貼擒拿手

取消操做你不行

出入自由紅牌樓

 

第三級

吃香喝辣

更好

各類重複

更強

各類跳

更快

處處飛

 

第四級

有人買單

成神

 

十一、擴展

  1.自動提示

^p

調出自動提示窗口,向上一行一行操做

^n

調出自動提示窗口,向下一行一行操做

^m

確認

  2.塊操做

^v

進入塊操做

使用塊操做在全部行前面加上 ##

^v

-> shift-i

-> ##

-> ^[

3.可視化選擇

v

進入可視化選擇

V

選擇一行

4.縮進

<

左縮進

>

右縮進

5.分屏

^w s  / :sp

分橫屏

^w v / :vs

分豎屏

^w q

退出

^w hjkl

屏之間切換

 

6.建立新文件

經過vi的命令模式,在當前打開的文件裏面,使用":"命令以後,

鍵入 :new file_name 而後便可在當前窗口新建立一個分屏的file_name文件窗口

此時你能夠經過 ^w  jklm進行上下切換,也能夠自由地在多個文件中進行復制粘貼 

7.其它高級小訣竅

一、對沒有權限的文件修改的保存(使用": w !sudo tee %" ):

your@your:/etc/apt$ vi 1111

插入數據以後,鍵入命令模式i(":")

操做:

": w !sudo tee %"

-> 按 "O" 或 "L" 都可

:r !uname -a    // 插入執行命令以後顯示的內容到本文本

:w !sudo tee %

//提權並保存編輯好來的文檔

執行過程:

Linux your 4.4.0-87-generic #110-Ubuntu SMP Tue Jul 18 12:55:35 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

 

W13: Warning: File "11111" has been created after editing started

[O]K, (L)oad File:

 

:w !sudo tee %

 

Linux your 4.4.0-87-generic #110-Ubuntu SMP Tue Jul 18 12:55:35 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

 

W13: Warning: File "11111" has been created after editing started

 

Press ENTER or type command to continue

your@your:/etc/apt$ cat 11111

 

Linux your 4.4.0-87-generic #110-Ubuntu SMP Tue Jul 18 12:55:35 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

your@your:/etc/apt$

二、鎖屏模式編輯vi

^s

鎖屏,終止屏幕終端回顯

^q

恢復正常模式

  注意:若是鍵盤熟悉度不高,也就是說打字速度低於150,或者錯誤率高於1%,建議不要觸碰此等高度危險操做,否則後果自負

三、其它補充:

一、vi 配置文件和搜索模式時的高亮顯示小結:

配置文件:

your@your:~$ cd

your@your:~$ ll .vimrc

-rw-rw-r-- 1 your your 31 Aug  7 04:13 .vimrc

.file_name

"." 在linux裏面表明隱藏文件

  經過 ls -a 能夠查看隱藏文件

  -a, --all

               do not ignore entries starting with .

  更改vi顯示,能夠有兩種模式:

臨時

在文件內

永久

在.vimrc配置文件內

 

    鍵入符合vi的語法

      搜索模式的高亮顯示:

永久:

一、vi .vimrc

二、set hlsearch

臨時:

一、vi file_name

二、: set hlsearch

永久:

一、vi .vimrc

二、刪除 set hlsearch 或者註釋

  說明:.vimrc的配置文件裏面," 雙引號表明註釋

  一個語法高亮和開啓行號顯示、搜索高亮顯示的demo:

  二、vi搜索模式先後說明:

/

向後搜索

n:下一個

N:上一個

?

向前搜索

n:上一個

N:下一個

 

    向前 <----"N"---- "?"--"n"--- souce ----"N"---"/" -----"n"---> 向後

 

 

  三、在vi、mysql中執行linux命令:

環境

方法

說明

vi

:! linux_command

新建立有窗口執行命令

mysql

\! linux_command

system linux_command

在當前mysql交互界面執行命令

注意:\! 與命令之間有空格,不然會出現:

mysql> \!pwd

ERROR:

Usage: \! shell-command

mysql> \! pwd;

/home/huhua

mysql>

      system    (\!) Execute a system shell command.

 

  四、高級功能:使用SSH服務登錄遠程主機:

mysql

system ssh core@192.168.28.144

vi

! ssh core@192.168.28.144

  五、vi 插入":"模式執行命令的輸出到vi當前文本里面

    :r !linux_command

    包括ping均可以導入到文本里面,只是ping的輸出不明文顯示

相關文章
相關標籤/搜索