0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

你會(huì)使用 Linux 編輯器 vim 嗎?

算法與數(shù)據(jù)結(jié)構(gòu) ? 來源:CSDN ? 2023-05-10 18:21 ? 次閱讀

首先我們先理清楚一個(gè)概念:編輯器編譯器調(diào)試器!

vim:是一款編輯器,只負(fù)責(zé)寫代碼;相當(dāng)于 windows 的記事本;

gcc:是一款編譯器,只負(fù)責(zé)程序的翻譯;

gdb:是一款調(diào)試器,只負(fù)責(zé)程序的調(diào)試

而在我們?cè)谟?VS 寫 C 代碼的時(shí)候,這些是全都在 VS 編譯器上實(shí)現(xiàn)的;因?yàn)?VS 是集成開發(fā)環(huán)境!

1. vim 的使用學(xué)習(xí)

1.1 vim 簡(jiǎn)介:

vim 是一個(gè)功能強(qiáng)大的多模式編輯器, 是 Linux/UNIX 上最常用的文本編輯器, 它的作用是建立、編輯、顯示文本文件。Vim 沒有菜單,只有命令。

命令模式(默認(rèn)):輸入的任何內(nèi)容,都被當(dāng)做命令;

插入模式;

低行模式;

af8f64f0-e5aa-11ed-ab56-dac502259ad0.png

總結(jié):任何模式互相切換,都可以先 Esc 切換到命令模式!

1.2命令模式下的常用命令

插入命令

af97003e-e5aa-11ed-ab56-dac502259ad0.png

對(duì)于小寫的 aio:a 代表在當(dāng)前光標(biāo)后插入;i 代表在當(dāng)前光標(biāo)前插入;o 在光標(biāo)下一行插入 對(duì)于大寫的 AIO:A 代表在當(dāng)前光標(biāo)所在行的行尾插入;I 代表在當(dāng)前光標(biāo)所在行的行首插入;O 代表在當(dāng)前光標(biāo)所在行的上一行進(jìn)行插入;

定位命令

af9fd452-e5aa-11ed-ab56-dac502259ad0.png

首先 shift+: 進(jìn)入低行模式,然后輸入 set nu 就可以在前面加上行號(hào),set nonu 就可以取消行號(hào);

GG 跳到最后一行的開頭,gg 回到第一行的開頭;

跳到指定的行:nG 或者: n

$ 移至到當(dāng)前光標(biāo)所在的行尾,0 移至到當(dāng)前光標(biāo)所在的行首

補(bǔ)充:b 往前找,w 往后找,并且每次跳過一個(gè)單詞;

補(bǔ)充:hjkl 對(duì)應(yīng)著左移、下移、上移、右移;也可以用上下左右鍵來移動(dòng);

補(bǔ)充:L 是移動(dòng)到本界面的最后一行;

刪除命令

x刪除光標(biāo)所在處字符,每次刪除一個(gè)字符;

nx 刪除光標(biāo)所在處后 n 個(gè)字符,nX 刪除光標(biāo)所在處前 n 個(gè)字符,n 是幾就刪除光標(biāo)后幾個(gè)字符;

dd 刪除光標(biāo)所在的這一行;

D 刪除光標(biāo)所在處到這一行的行尾位置;

ndd 從光標(biāo)所在行算起,n 是幾就刪除后面的幾行;

dG 刪除光標(biāo)所在的這一行到整個(gè)文件的末尾處;

:n1,n2d 刪除指定范圍的行;

u 如果誤刪除,可以利用 u 進(jìn)行回退恢復(fù),相當(dāng)于 windows 里的 ctrl+z 的作用;

補(bǔ)充:shift ~ 可以實(shí)現(xiàn)大小寫之間的轉(zhuǎn)換;

復(fù)制和剪貼

yy 復(fù)制當(dāng)前行,nyy 復(fù)制當(dāng)前行以下 n 行;然后 p 就可以復(fù)制到當(dāng)前光標(biāo)處的下一行,P 復(fù)制到當(dāng)前光標(biāo)處的上一行;

dd 剪切當(dāng)前行,ndd 剪切當(dāng)前行以下 n 行;然后 p 就可以復(fù)制到當(dāng)前光標(biāo)處的下一行,P 復(fù)制到當(dāng)前光標(biāo)處的上一行;

搜索和搜索替換命令

:%s/old/new 全文替換指定字符串,%s 代表整個(gè)全文,把 old 字符串替換成 new 字符串;

:n1,n2s/old/new/g 全文替換指定字符串,n1 是起始行,n2 是終止行;把 old 字符串替換成 new 字符串;g 代表不詢問,也可以用 c 代表詢問;

r 取代光標(biāo)所在處的一個(gè)字符;后面在輸入相當(dāng)于在光標(biāo)處后面直接插入;

R 從光標(biāo)所在處開始替換字符,直到整個(gè)行被替換完,后面在輸入相當(dāng)于在光標(biāo)處后面直接插入,按 ESC 結(jié)束;

u 取消上一步操作

保存和退出命令

:w! 保存修改

:q!不保存修改退出

:wq! 保存修改并退出;或者用 x!,在或者用 ESC+shift+ZZ;

:w 文件名;表示把當(dāng)前文件的內(nèi)容另存到指定文件里;相當(dāng)于備份;

2. vim 使用技巧

2.1 簡(jiǎn)單技巧

導(dǎo)入命令執(zhí)行結(jié)果到文件里 :r! 命令

r:代表寫入;! 命令:表示命令執(zhí)行的結(jié)果,就相當(dāng)于我們?cè)诮K端里直接輸入命令一樣

比如:我們正在編寫一個(gè) 111 文件 (vim 111),我們想要把當(dāng)前的時(shí)間寫入進(jìn)來;我們需要退出當(dāng)前編輯的文件,然后在終端輸入 date 命令,把結(jié)果復(fù)制,然后在 vim 111 進(jìn)入文件,進(jìn)行粘貼,想一想都麻煩!

但是如果我們?cè)诋?dāng)前編輯的 111 文件內(nèi),直接執(zhí)行:r!date;就能把時(shí)間直接打印到當(dāng)前光標(biāo)處!

連續(xù)行注釋

:n1,n2s/^/#/g

對(duì)于 Linux 來說,注釋符是 #;這里和搜索替換的用法很相似,我們就先解讀一下:把 n1 起始行和 n2 終止行里面的內(nèi)容進(jìn)行注釋 (#);^(尖角號(hào)) 代表移到首行字符并進(jìn)入插入模式;# 是把注釋符 #插入進(jìn)去;g 代表不詢問;

:n1,n2s/^#//g

表示把首行的注釋符 #取消掉;相當(dāng)于把首行的 #替換成空;

2.2快捷鍵的定義

定義快捷鍵 :map 快捷鍵 觸發(fā)命令

例:我們想進(jìn)行注釋 (#):1. 按 0 移至首行 2.i 插入 3.# 注釋 4.退回到命令模式;我們需要四步;但是如果我們自己定義快捷鍵呢?只需要一步!

:map ^P I#

我們利用 map 進(jìn)行快捷鍵的定義,^ 并不是 ctr+6,而是 ctrl+v+p;I 代表行首并進(jìn)入插入模式;# 代表插入的是 #;成功插入后退回到命令模式;

這樣以后再注釋,直接 ctrl+p,就可以了,感興趣的小伙伴快快操作起來吧!

:map ^B 0x

有了首行插入注釋符 #的快捷鍵,不妨在定義一個(gè),刪除首字符的快捷鍵;0 代表移動(dòng)到首行,x 表示刪除一個(gè)字符;

以后想要直接刪除首行的第一個(gè)字符,直接 ctrl+b 就可以了;

替換快捷鍵:ab

例:我們經(jīng)常要輸入自己的郵箱,但是每次那么長(zhǎng)太麻煩了;所以我們不妨定義一個(gè)快捷鍵來代替我們的郵箱;這就需要 ab 命令;

:ab mymail 1870298470@qq.com

這樣我們?cè)谳斎豚]箱直接輸 mymail 回車,就可以替換成 1870298470@qq.com,是不是很方便;

注意:對(duì)于我們當(dāng)前定義的快捷鍵都是臨時(shí)生效的,要想永久生效需保存在:文件.vimrc中

對(duì)于root 用戶:寫入 / root/.vimrc 當(dāng)中

對(duì)于普通用戶:寫入/home/username/.vimrc

3. 簡(jiǎn)單 vim 配置(重點(diǎn))

首先讓大家看一下我的 vim 配置后的結(jié)果

afa87e5e-e5aa-11ed-ab56-dac502259ad0.gif

配置過后是不是有點(diǎn)像 VS 的環(huán)境?不妨打開自己的 vim 看看是不是這樣的效果!

基本配置

所有的基本配置,本質(zhì)是將我們的配置項(xiàng)寫入. vimrc 當(dāng)中;對(duì)于普通用戶,我們直接 vim .vimrc 把配置文件寫進(jìn)去就行;例如一些簡(jiǎn)單的配置:

afc1690a-e5aa-11ed-ab56-dac502259ad0.png

也可以用別人的配置,我目前就用的別人的,更加全面!

>curl-sLfhttps://gitee.com/HGtz2222/VimForCpp/raw/master/install.sh-o./install.sh&&bash./install.sh

直接在終端輸入,然后回車就可以啦!




審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 編輯器
    +關(guān)注

    關(guān)注

    1

    文章

    797

    瀏覽量

    30926
  • LINUX內(nèi)核
    +關(guān)注

    關(guān)注

    1

    文章

    315

    瀏覽量

    21556
  • AIO
    AIO
    +關(guān)注

    關(guān)注

    1

    文章

    61

    瀏覽量

    9940

原文標(biāo)題:你會(huì)使用 Linux 編輯器 vim 嗎?

文章出處:【微信號(hào):TheAlgorithm,微信公眾號(hào):算法與數(shù)據(jù)結(jié)構(gòu)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    linux中vi、vim編輯器常用的技巧

    今天浩道跟大家分享硬核干貨,關(guān)于linux中vi、vim編輯器常用的技巧!
    發(fā)表于 09-21 14:04 ?547次閱讀

    常用編輯器Vim編輯器

    Linux下我們對(duì)文本進(jìn)行編輯,經(jīng)常用到的編輯器就是Vi/Vim,Vi/Vim命令眾多,功能強(qiáng)大,是大多數(shù)
    發(fā)表于 08-22 09:48

    嵌入式學(xué)習(xí)-常用編輯器Vim編輯器

    Linux下我們對(duì)文本進(jìn)行編輯,經(jīng)常用到的編輯器就是Vi/Vim,Vi/Vim命令眾多,功能強(qiáng)大,是大多數(shù)
    發(fā)表于 08-23 09:12

    Linux下怎么使用vim編輯器?

    VimLinux操作系統(tǒng)中最常用一個(gè)編輯器。如配置文件的更改、環(huán)境變量的設(shè)置等等基本上都是在這個(gè)vim編輯器上完成。所以這是
    發(fā)表于 04-03 07:22

    vim Linux文本編輯器

    vimLinux文本編輯器vim——最強(qiáng)大的文本編輯器——擺脫鼠標(biāo)vi—vim—gvim三種模式:①命令模式:yy(復(fù)制)、p(粘貼)、dd(刪除)、u(恢復(fù))②插入模式:i/a(進(jìn)
    發(fā)表于 12-15 06:30

    學(xué)會(huì)使用和如何配置vim功能最強(qiáng)大文本文件編輯器

    一.vim(文本編輯器):學(xué)會(huì)使用和如何配置vimvim功能最強(qiáng)大文本文件編輯器,可以擺脫鼠標(biāo)。vi—vim----gvim;命令行模式(n
    發(fā)表于 12-15 09:18

    學(xué)會(huì)使用和如何配置vim文本編輯器

    學(xué)會(huì)使用和如何配置vim文本編輯器?動(dòng)態(tài)庫和靜態(tài)庫及使用和區(qū)別是什么?
    發(fā)表于 12-23 08:49

    linux文本編輯器工具下載

    linux文本編輯工具:VIM是優(yōu)秀的開源文本編輯器,是Linux/UNIX用戶非常常用的文本編輯
    發(fā)表于 06-02 22:30 ?31次下載

    VIM編輯器學(xué)習(xí)

     Vim是一個(gè)類似于Vi的文本編輯器,不過在Vi的基礎(chǔ)上增加了很多新的特性,Vim普遍被推崇為類Vi編輯器中最好的一個(gè),事實(shí)上真正的勁敵來自Emacs的不同變體。 
    發(fā)表于 08-11 16:58 ?970次閱讀

    Linux系統(tǒng)vi(vim編輯器命令使用教程

    vi(vim)是上Linux非常常用的代碼編輯器,很多Linux發(fā)行版都默認(rèn)安裝了vi(vim)。vi(
    的頭像 發(fā)表于 10-12 16:53 ?4397次閱讀

    Vim更現(xiàn)代直觀的Linux文本編輯器

    一些流行的命令行文本編輯器包括 Vi、Vim 和 Nano。這些工具非常流行,它們預(yù)裝在大多數(shù) Linux 發(fā)行版中。但是,某些編輯器(如 Vi 或
    的頭像 發(fā)表于 02-24 10:08 ?851次閱讀

    linux怎么執(zhí)行vim編輯的程序

    Linux中,可以通過以下步驟執(zhí)行Vim編輯器中編寫的程序: 打開終端或命令行界面。 使用Vim編輯
    的頭像 發(fā)表于 11-26 15:45 ?866次閱讀

    linux使用vim新建并編輯文件

    Linux系統(tǒng)下,Vim是一款功能強(qiáng)大的文本編輯器。它可以用于新建并編輯文件,具有很多高級(jí)功能和快捷鍵。下面是關(guān)于如何在Linux上使用
    的頭像 發(fā)表于 11-28 15:17 ?2134次閱讀

    vim編輯器如何使用

    Vim編輯器是一個(gè)功能強(qiáng)大的文本編輯器,它基于Vi進(jìn)行改進(jìn),并增加了許多新特性。Vim編輯器的使用主要涉及其不同的工作模式及相應(yīng)操作。以下是
    的頭像 發(fā)表于 08-30 14:58 ?166次閱讀

    vim編輯器命令模式使用方法

    文本。 1. Vim編輯器概述 Vim(Vi IMproved)是一款高度可定制的文本編輯器,起源于Vi編輯器。
    的頭像 發(fā)表于 08-30 15:01 ?215次閱讀