From a8fe52780763b1af6de37b7406b85b3ddb431250 Mon Sep 17 00:00:00 2001
From: =?utf8?q?=E6=B4=9B=E6=B0=B4=C2=B7=E9=94=A6=E4=BE=9D=E5=8D=AB?=
<32975657+LuoshuiTianyi@users.noreply.github.com>
Date: Fri, 7 Dec 2018 19:46:08 +0800
Subject: [PATCH] Update editors.md
---
docs/intro/editors.md | 516 --------------------------------------------------
1 file changed, 516 deletions(-)
diff --git a/docs/intro/editors.md b/docs/intro/editors.md
index 512b1483..50c1301c 100644
--- a/docs/intro/editors.md
+++ b/docs/intro/editors.md
@@ -4,522 +4,6 @@
Vim çåèº«æ¯ viï¼ä¸ä¸ªç®æ´ä½æ¯ç¥æä¸è¶³çç¼è¾å¨ï¼ä½æ¯ä» vi å¼å§ï¼ç¼è¾å¨ç模å¼åºååå¯å¿«ä¸ç ´çææ³å°±å·²ç»ä½ç°çå¾å°ä½äºãVim å³æ¯ vi improvedï¼æ¯å¨ vi åæ¬ææçæ¹å¼ä¸è¿è¡çè¿ä¸æ¥æåï¼ä½æ¯å¹¶ä¸ä¼æ¹å vi çå
¶ä»æ¬è´¨ï¼åªæ¯å¢å äºæ´å¤éåºå¦ä»éè¦çä¸äºåè½ã
-vi äº 1976 å¹´è¯çï¼ä¸ Emacs ä¸åå
åï¼ä¸¤è
å å
¶å¿«æ·çç¼è¾è¢«å¥ä¸ºç¥å¨ï¼çè³ä½¿ç¨è
们è¿æçåè¿ âå£æâï¼å³æ¯ `ç¥çç¼è¾å¨ Emacs` VS `ç¼è¾å¨ä¹ç¥ Vim`ï¼ä½æ¯å½ç¶åä¸åºç»æï¼å 为åæä¼å£ãä½å®ä»¬å
±æçç¹ç¹å°±æ¯é«åº¦çæ©å±æ§ä¸é«åº¦çå¯å®å¶æ§ä»¥åå¿«æ·æ¹ä¾¿ç使ç¨ã
-
-Vim ç模å¼åºåæ¯ä¸ä¸ªå¾æææç设å®ï¼æ®é模å¼ä¸æå
¥æ¨¡å¼æ¯æ主è¦å¸¸ç¨ç模å¼ï¼æ®é模å¼ä¸çæ¯ä¸ªé®é½æ¯å½ä»¤ï¼è¿ä¾¿æ¯ Vim ä¸åäº Emacs çå°æ¹ï¼è¥æ¯ä¹ æ¯äº Vim ç模å¼ä¹é´çåæ¢ï¼å¤§é¨åé½æ¯å个é®çå½ä»¤å¿
ç¶æ¯ Emacs çæ é Ctrl ä¼æ´é«æï¼è½ç¶ Vim çå°å®¹é注å®æ¯ä¸äº Emacs âæä½ç³»ç»â è¿ä¸ªä¸è¥¿é£ä¹ä¸è½ï¼ä½æ¯è®ºå¿«èè¨ï¼Vim æ¯æ å¯äºè®®ç顶å°ç¼è¾å¨ã
-
-Vim æ丰å¯çæ件æ©å±ï¼è¿ç¹æ¾ç¶æ¯æ¯é
ç½®æ´è¿·äººçåå¨ãæè¿äºæ©å±æ§åå¨ï¼Vim æ为ä¸ä¸ª IDE ä¹ä¸ä¼æ¯ä¸å¯è½çäºæ
ã
-
-ä½æ¯ï¼Vim çåå§å¦ä¹ 注å®æ¯è°é¾çï¼å 为å
¶ä¸å¤æ°ä¸»æµæä½ä¸åçæ¹å¼ä»¤ç¨æçæ°ææèå´æ¥ï¼è¿éè¦æ¶é´æ¥éåºä½å½åº¦è¿æå¼å§çä¸éåºæä¹åï¼Vim å°±åæ é¾åº¦ï¼ä½ ä¼æ
¢æ
¢ä¸ç¾ï¼ä¸æä¼åä½ çé
ç½®ï¼å¯»æ¾æ°çæ´å¥½ç¨çæ件ãå¼å§çè¿ç¨å°±åæ¯é¸åï¼ä¹åçè¿ç¨å°±åæ¯ä¸åçæ´å¥½ç磨åï¼ç¶åå¨åä¸éæ¸æ³¨å
¥ä½ ççµéï¼è¿æ ·å®å°±æ为äºä½ æ好çå©å¨ï¼ä»¤ä½ æ æ³å²èãä¹è³ä½ ä¼èªå·±åéåèªå·±çæ件ï¼å°±åæ¯èªååæ³ï¼èä¸åæ¯ä»å«äººé£éåæ¥åæ³ï¼æä¸æå
«è为ä¸çã
-
-æ人说äºè¿æ ·ä¸å¥è¯ï¼
-
-Vim æ¯ä¸æ¬¾é常ä¼ç§çææ¬ç¼è¾å¨ï¼ä½ç±äºå
¶é¡å³çå¦ä¹ æ²çº¿ï¼å¾å¤äººè¿æ²¡å¼å§å¦å°±æ¾å¼äºï¼æ以ä»ä»¬æ æ³é¢æ Vim å¯å¿«ä¸ç ´ç设计ææ³å精巧ç使ç¨ä½éªã
-
-éä¸å¼ å¾ï¼è®ºå大ç¼è¾å¨çå¦ä¹ æ²çº¿ï¼çºµåæ 代表ææ¡ç¥è¯éåé¾åº¦ï¼æ¨ªåæ 代表使ç¨ççç»ç¨åº¦ä¸å®æä»»å¡çæçãæ们å¯ä»¥çå°ï¼Vim çæ²çº¿å²æ¢é¡å³ï¼é½åç´äºâ¦â¦ ä½æ¯å¼å§è¿å»åï¼æ¯å¹³ç¨³çæåï¼åªè¦åº¦è¿å¼å§çé¶æ®µï¼Vim çå¦ä¹ å°åæ é»ç¢ï¼ä¸è·¯ç´ä¸æ没æã
-
-![](./images/horrorstories.jpg)
-
-### å®è£
-
-ä¸è¬çè¯ï¼Linux ç³»ç»é½æ¯ä¼èªå¸¦ Vim çï¼æå¼ç»ç«¯è¾å
¥ `vim` å³å¯å¯ç¨ã
-
-Vim ä¾éäºç»ç«¯ï¼æ以è°æ´ç»ç«¯è®¾ç½®ä¹å¯ä»¥è¾¾å°ç¾åææã
-
-ä½æ¯èªå¸¦ç Vim å¾å®¹ææåè½æ®ç¼ºï¼æ¯å¦æçå°±ä¸è½ä¸ç³»ç»åªåæ¿äº¤äº (å°ä¼å¨è¿é¶ç¯è®²è§£)ï¼åç§æªå¼å¯æ¯æãé£ä¹è¿æ¶åæ们就éè¦æå¨å®è£
ï¼æ¹æ³æäºã第ä¸æ¥å
æ¯å¸è½½ Vimï¼å½ä»¤å¦ä¸ï¼
-
-```shell
-sudo apt-get remove vim
-```
-
-ç¶åå®è£
æ两ç§åæ³ï¼ä¸æ¯ä½¿ç¨å½ä»¤å®è£
ï¼ä½ææ æ³ç¡®å®è½¯ä»¶æºççæ¬æ没æé®é¢ = =ã
-
-```shell
-sudo apt-get install vim
-```
-
-åæ³äºï¼å
å° [Releases - vim/vim](https://github.com/vim/vim/releases) ä¸è½½æºç å
ï¼ç¶å解åï¼å¹¶è¿å
¥è§£ååçæ件夹ï¼å¹¶æå¼ç»ç«¯ï¼cd è³æ件夹路å¾ï¼å¹¶ä¾æ¬¡è¾å
¥å¦ä¸å½ä»¤ï¼
-
-```shell
-./configure
-make
-sudo make install
-```
-
-make çè¿ç¨å¯è½ç¨ä¹
ï¼æ·¡å®ç¹çã
-
-æåå¨ç»ç«¯è¾å
¥
-
-```shell
-vim
-```
-
-就跳åºäºé£ä¸ªå¸®å¸®ä¹å¹²è¾¾çå¯æå¿ç«¥å¥çï¼æ `a` æ `i` é®å¼å§ç¼è¾æ°æ件å§ã
-
-æè
è¦æå¼æ个æ件çè¯å°±å¯ä»¥å¨ç»ç«¯ä¸
-
-```shell
-vim æ件路å¾
-```
-
-å¯ä»¥ç´æ¥ç¼è¾æ件ã
-
-### ç¼è¯
-
-ç¼è¯çè¯ï¼å
è¦å®è£
g++ï¼å½ä»¤å¦ä¸ï¼
-
-```shell
-sudo apt-get install g++
-```
-
-ç¶å cd è³ cpp æ件æå®è·¯å¾æ§è¡å¦ä¸å½ä»¤
-
-```shell
-g++ filename.cpp -o filename
-./filename
-```
-
-第ä¸ä¸ªå½ä»¤æ¯ç¼è¯ï¼ç¬¬äºä¸ªåæ¯è¿è¡ã
-
-ä¸é®ç¼è¯è¿è¡çé
ç½®å¨é
ç½®ç¯ç»åºã
-
-### åºç¡ç¯
-
-å模å¼æ¥å§ã
-
-#### æå
¥æ¨¡å¼ (insert)
-
-æå
¥æ¨¡å¼çç¥è¯ç¹å
¶å®æ²¡æ太å¤ï¼è¾å
¥ææ¯ä¸»èæ¯ä¼ã
-
-é¦å
ï¼ä»æ®é模å¼å¦ä½è¿å
¥æå
¥æ¨¡å¼å¢ï¼ææ°ä¸ªå½ä»¤ï¼`i` ä¸ `a` ä¸ `A` ä¸ `o`ãå两个差å«ä¸å¤§ï¼`i` æ¯å¨å
æ å½åä½ç½®è¿è¡å代ç ï¼`a` æ¯å¾åæªä¸ä¸ªå符å代ç ã`A` æ¯ç§»å¨å°å½åè¡å°¾è¿è¡æå
¥ï¼`o` æ¯å¨è¡å°¾æ·»å æ¢è¡ç¬¦å¹¶å¨ä¸ä¸è¡æå
¥ã
-
-èå¦ä½è¿åæ®é模å¼ï¼å½ç¶æ¯ Esc å¦ãä½æ¯ï¼Vim çæå
¥ä¸æ®é模å¼åæ¢å¼å¸¸é¢ç¹ï¼è Esc å太è¿äºï¼æä»ä¹åæ³å¢ï¼Vim è¿æä¾äº Ctrl + \[ çå¿«æ·é®æ¥è¿åæ®é模å¼ï¼æ¯å¦è¿å¤äºå¢ï¼
-
-è½è¯´è½å¤çç»äºåï¼åæ¢æ¨¡å¼ä¸åæ¯é®é¢ï¼ä½æ¯å
¶å®æçæ¶åæ们åªæ¯éè¦è¿å
¥æ®é模å¼ä¸æä¸æ¬¡å°å½ä»¤ï¼æ¥ååæ¢åæ¾å¾æµªè´¹äºä¸ç¹ç¹æ¶é´ãè Vim åæä¾äºæå
¥ - æ®é模å¼æ¥é¿å
è¿ä¸å°´å°¬çé®é¢ãå¨æå
¥æ¨¡å¼ä¸ï¼åªéè¦æ Ctrl + o å³å¯è¿å
¥æ¤æ¨¡å¼ï¼å½è¿è¡å®ä¸æ¬¡æä½ååä¼èªå¨åå°æå
¥æ¨¡å¼ãè¿æ ·å²ä¸æ¯æ´çæ¶é´ï¼
-
-#### æ®éæ¨¡å¼ (normal)
-
-Vim çå½ä»¤å¤§é¨åé½æ¯å¨æ®é模å¼ä¸å®æçï¼æ®é模å¼ä¸å¯ä¸è½ä¹±æï¼å¯ä»¥è¯´æ¯ä¸ªé®é½æ¯å½ä»¤ã
-
-```text
-é¦å
æ¯ hjkl å个æ¹åé®ã
- k ^
- h < > l
- v j
-```
-
-å
¶å®å¤§å¤æ°ç¼è¾å¨é½æ¯ç¨æ¹åé®ååºç§»å¨å½ä»¤ï¼Vim ä¹ä¸ä¾å¤ï¼ä½ `hjkl` ç»äºæ们æ´å¥½çéæ©ï¼åªéè¦ä¸æ®µæ¶é´çéåºï¼ä½ 便è½å¿«éå°æä½å®ä»¬è¿è¡ç§»å¨ï¼èä¸å®ä»¬å¯æ²¡ææ¹åé®é£ä¹è¿ï¼èçæ¶é´æ¯ä¸æµçã
-
-æ®é模å¼ä¸æéè¦çå½ä»¤ï¼æ²¡æä¹ä¸ï¼é£å°±æ¯ `u`ãæ¤éå½ä»¤ï¼ä½ç¨æ¯æ¤éä¸ä¸æ¬¡å¯¹ææ¬çæ´æ¹ï¼æ®é模å¼ä¸ç `x`ï¼`d`ï¼`p` å½ä»¤é½ä¼è¢«æ¤éï¼åæ¶è¿å
¥ä¸æ¬¡æå
¥æ¨¡å¼æç¼è¾çææ¬ä¹ç®ä¸æ¬¡æ´æ¹ï¼`u` å½ä»¤ä¼å å»ä»è¿å
¥å°éåºæå
¥æ¨¡å¼æè¾å
¥çææä¸è¥¿ãä¸ä¹å¯¹åºçæ¯ Ctrl + r å½ä»¤ï¼ä»çä½ç¨æ¯æ¤éä¸æ¬¡çæ¤éå½ä»¤ï¼ç¸å½äºå¤§é¨å windows ä¸ç¨åºä¸ç Ctrl + yã
-
-ç¶åçè¯, å°±æ¯æ®é模å¼ä¸å¸¸ç¨çå½ä»¤ãç±äºå¯¹è¡å½ä»¤ç使ç¨å¾é¢ç¹ï¼æ以大é¨åçåé®å½ä»¤é½å¯ä»¥éè¿æ两次æ¥å®ç°å¯¹è¡æä½ã常ç¨å½ä»¤æ¯ `x` ï¼ç¨äºå é¤å
æ åçä¸ä¸ªå符ãç¶åæ¯ `d` å½ä»¤ï¼ä¹æ¯å é¤ï¼ä½æ¯ç§ç±»æ´å¤ï¼è¿éä¸åèµè¿°ãåæ¶ `d` å½ä»¤åä¹å说çï¼æ两次å³å¯å é¤æ´è¡ï¼å³ `dd`ã
-
-ç¶åæ¯`y`å½ä»¤ï¼å¯ä»¥å¤å¶è¢«éä¸çåºåï¼è¿æ¶åå°å¯è§æ¨¡å¼ï¼å³æ `v` è¿å
¥å¯è§æ¨¡å¼ï¼å¤ç¨äºéä¸åºåãè¿å
¥å¯è§æ¨¡å¼å移å¨å
æ æ¥ç¡®å®éåèå´æ¯å¯ä»¥çï¼æ¤æ¶æ `o` é®å³å¯åæ¢æ´»å¨ç«¯ï¼çå»äºå¦æè·åæ¹åç麻ç¦ãå½ç¶ï¼æç¸ä¿¡å¾å¤äººè¿æ¯ä¹ æ¯ç¨é¼ æ æä½è¿ä¸è¿ç¨çï¼å
æ¬ç§»å¨å
æ ãVim å¾æ¸©é¦¨çæä¾äºè¿ä¸é
ç½®ï¼`set mouse=a`ãä½ å¯ä»¥å°å®åå
¥ä½ çé
ç½®æ件ä¸å»ãæäºå®ä¹åï¼ä½ å°è½å¤ç¨é¼ æ éä¸åºå并è¿è¡å¤å¶æä½ãå½ç¶ï¼éä¸åæ `x` æ `d` 亦å¯å é¤ãåæ¶ï¼`y` ä¹ç¬¦å `d` çæ§è´¨ï¼`yy` å°å¯ä»¥å¤å¶å½åè¡ã
-
-ç¶åå°±æ¯æ´å¿«çè·³è·äºãå¦æ说åªæ¯ä½¿ç¨ `hjkl` çè¯ï¼å
æ ç移å¨æ¾ç¶ä¸å¤å¿«ï¼èé¼ æ å´åè¦ä¼¸æå»æ¿ãVim æä¾äºæ®é模å¼ä¸æ´å¿«çè·³è·æ¹æ³ï¼`w` å¯ä»¥è·³å°ä¸ä¸ªåè¯çå¼å¤´ï¼è `e` å¯ä»¥è·³å°å½ååè¯ç»å°¾ï¼`0` å¯ä»¥è·³è³è¡é¦ï¼`$` å¯ä»¥è·³è³è¡å°¾ï¼å²ä¸æ¯å¿«å¤äºï¼èä¸ `w`ï¼`e`ï¼`0`ï¼`$` è¿å¯ä»¥ç¨äºè®¸å¤å½ä»¤ä¸ `de`ï¼`dw`ï¼`d0`ï¼`d&` åå«å¯¹åºå è³åè¯å°¾ï¼å è³ä¸ä¸ªåè¯å¤´ï¼å è³è¡é¦ï¼å è³è¡å°¾ã以å`y`å½ä»¤äº¦å¯åçã
-
-ç¶åæ¯ Vim çå¯éå¤ãå¨è¾å
¥æ个å½ä»¤åï¼è¾å
¥ä¸ä¸ªæ°åçè¯ï¼å°±ä¼éå¤é£ä¹å¤æ¬¡ãå¦å¨æ®é模å¼ä¸ï¼
-
-```text
-asdasdasdasdasd
-asdadasdddd
-asdasdasd
-```
-
-å
æ æ£ä½äºç¬¬ä¸è¡ï¼è¯¥å¦ä½å é¤è¿ä¸è¡å¢ï¼æ®é模å¼ä¸æ `3 dd` å³å¯ãå
¶å®è¿æ`.`å½ä»¤ä¹æ¯å¯ä»¥åå°ä¸äºéå¤çï¼è¿ä¼å¨æçç¯ä¸æå°ã
-
-ç¶åæ¯å
¨æçè·³è·ï¼æ `gg` å¯è·³è³ä»£ç çå¼å¤´ï¼æ `G` å¯è·³è³ä»£ç æåä¸è¡ï¼å
ææ°ååæ `G` å¯è·³è³æå®è¡ã
-
-é£ä¹å¨æä¸è¿ææ为æ¹ä¾¿çæ¥æ¾åè½ï¼æ®é模å¼ä¸åªéæ `/` ä¸æ¹å³ä¼åºç°æ¥æ¾æ¡æ¡ï¼è¾å
¥éè¦æ¥æ¾çå符æå车就好å¦ï¼å¦ææå¤ä¸ªæ¥æ¾ç»æï¼åªéæ `n` å³å¯è·³è³ä¸ä¸ä¸ªæ¥æ¾å¤ï¼æ `N` å³å¯è·³è³ä¸ä¸ä¸ªã
-
-常ç¨å½ä»¤å¤§æ¦å°±è¿äºäºâ¦â¦
-
-#### å½ä»¤è¡æ¨¡å¼
-
-å
¶å®è¿å¹¶ä¸è½ç§°ä½æ¯ä¸ä¸ªæ¨¡å¼ = =ã
-
-æ®é模å¼ä¸åªéè¦æ : ä¸æ¹å°±ä¼è¹¦åºå½ä»¤æ¡æ¡ï¼è¾å
¥ç¸å
³å½ä»¤å³å¯ãå¦ Vim å¨çº¿å¸®å©ææ¡£ï¼è¾å
¥ `:help` å³å¯ï¼å¦æçä¸æè±æâ¦â¦ 请ä¸è½½ Vim ç¨æ·æåä¸æï¼æè
移æ¥æ件ç¯ã
-
-æ¤æ¨¡å¼ä¸æä¸äºå¾æç¨çå½ä»¤
-
-`:q` éåºï¼`:w` ä¿åï¼`:wq` ä¿å并éåºï¼`:q!` ä¸ä¿å并éåºï¼`:e filename` æå¼å½åç®å½ä¸æå®æ件ï¼è¿äºæ¯æ¯è¾åºç¡çã
-
-ç¶åæ¯å¾å¼ºå¤§çå½ä»¤ `:x1,x2 s/A 串 / B 串 /` ä½ç¨æ¯æ第 `x1` è¡è³ `x2` è¡ä¸çææ A 串æ¿æ¢æ B 串ãæ³è±¡ä¸ä¸é¢åå®äºï¼ä½æ¯åç°æ²¡å¼ `long long` çæ¶åï¼å®å
¨ä¸ç»ææ没æï¼ä¸ä¸ªå°å½ä»¤ï¼å¦ä¸å¯è¨ãç¬é´ææ `int` å `long long`ã
-
-以ä¸é½æ¯ Vim å
é¨çå½ä»¤ï¼ä½æ¯å®é
ä¸å¦æå½ä»¤å½¢å¼æ¯ `:! å½ä»¤` é£ä¹å°±å°å¨å¤é¨æ§è¡å½ä»¤ï¼å³æ¯ä»¥ bash ç»ç«¯æ§è¡å½ä»¤ãæ¢ç¶é½æ¯å¤é¨ bash äºæå°±ä¸å¤åä»ç»äºï¼é£åå°ä¸å½æ管â¦â¦
-
-#### å¯è§æ¨¡å¼
-
-å¯è§æ¨¡å¼çä½ç¨æ»ç»èµ·æ¥å¤§æ¦å°±æ¯éä¸é«äº®ï¼ä½æ¯åç¶çå¯è§æ¨¡å¼å¯ä»¥å¹²æ´å¤çäºæ
ï¼ä¸è¿å¤ªéº»ç¦äºï¼å¯¹äºæ°äººæ¥è¯´å¤§æ¦ä¼èéç¼ã
-
-æ®é模å¼ä¸æ `v` å³å¯è¿å
¥å¯è§æ¨¡å¼ï¼`hjkl` å¯ä»¥ç§»å¨é«äº®éåºæä¸å¤´ï¼å¦æåç°åäºæè
ä½ è¿å
¥å¯è§æ¨¡å¼çæ¶åæ¯å¨æ³è¦éä¸åºåçä¸é´ä½ç½®ï¼ä¸ç¨æ¥çéåºéè¿ï¼æ´ä¸ç¨è±æ¶é´å移åå»ï¼åªéè¦æ`o`å³å¯åæ¢æ´»å¨ç«¯ï¼æä½é«äº®éåºçå¦ä¸å¤´ãæè
ç¨é¼ æ ä¹ä¸æ¯ä¸è¡å¦â¦â¦
-
-ç¨é¼ æ éä¸é«äº®éåºå½ç¶ä¹å¯ä»¥è¯´æ¯è¿å
¥å¯è§æ¨¡å¼çåæ³ä¹ä¸ã
-
-ç¶åå°±æ¯`y`æè
`d`æä½ï¼æ²¡äº QwQã
-
-emm åºç¡åºè¯¥å°±ç¨å°è¿äºäºå§ï¼å¾åçæ件ï¼é
ç½®ï¼æ´å¤æä½å¨å¯¹åºç¯å¹
éã
-
-æåå
¶å® Vim è¿æä¸äºåºç¡æä½ï¼å®ä»¬å¨ Vim èªå¸¦çæç¨éå°ä¼è®²è¿°ãæå¼ç»ç«¯è¾å
¥ï¼
-
-```shell
-vimtutor
-```
-
-å³å¯è¿å
¥æç¨ï¼äºä¸ååéä½ å°±è½ææ¡åºç¡äºï¼ä½åºå½å 以ç»ä¹ æè½å½»åºææ¡ã
-
-### æ件ç¯
-
-åºç¡ç¯é说è¿ï¼Vim ä¸ Emacs ä¹æ以è½æ为两大å·
å³°çç¥å¨æ¯å 为å
¶é«åº¦çæ©å±ä¸å¯å®å¶æ§ï¼èæè½ä½ç°è¿ä¸ç¹æ§çå°±æ¯æ件äºãå®ä»¬æ¯ææé
åçä¸é¨åï¼æ¯æä»¤ä½ æ æ³ææçç»æã
-
-è½ç¶èåºä¸åºæ¬ä¸ä¸è½ç¨æ件ï¼ä½æ¯æ¥å¸¸çå¦ä¹ ä¸ï¼æ件å°å¯¹ä½ çæçæå¾å¤§çæé«ï¼èä¸ä¸äºæ件çé¨ååè½å¯ä»¥éè¿ Vim èªå¸¦å®ç°ä»¥åé
ç½®å®ç°ã
-
-é¦å
ï¼å
¶å®ä»åæ件çå®è£
å¿
é¡»ä¸è½½ä¹åä¸¢å° .vim æ件夹ä¸ï¼å äºåè¦ä¸äºäºï¼åå麻ç¦ãäºæ¯å¨ä½¿ç¨è
们çæ£é¼ä¸ï¼ä¸æ强大çæ件管çå¨ç±æ¤è¯çââVundleã
-
-å½ç¶ä½ çé
ç½®éå¿
é¡»æå¦ä¸ä¸¤è¡ï¼
-
-```vim
-set nocompatible
-filetype plugin on
-```
-
-以确ä¿ä½ ç Vim å¯ä»¥å è½½æ件ï¼åªææ¯ Vim åçå
ç½®çæ件ä¹éè¦çã
-
-è³äºå
·ä½è¿ç¨å¦ä¸ï¼
-
-é¦å
æ¯å¨ home ç®å½ä¸å»ºç«æ件夹 .vimãç¶åæå¼ç»ç«¯è¾å
¥ä»¥ä¸å½ä»¤ï¼
-
-```shell
-sudo apt-get install git
-git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim
-```
-
-å°±å®è£
好äºã
-
-ç¶åå¨ .vim æ件夹ä¸å建æ件夹 plugin ãè¿ä¸ªæ件夹ç¨äºåæ¾é£ç§ä¸è½ç¨ Vundle æ件ä¸è½½ï¼èå¨å«çå°æ¹æå¾ä¸è½½çèæ¬æ件ï¼ååæ¯ xxx.vimï¼ç´æ¥æè¿è¿ä¸ªæ件夹就å¯ä»¥ä½¿ç¨äºã
-
-Vundle å¯ä»¥å¾è½»æ¾ç管çæ件ï¼åªéè¦å¨é
ç½®ä¸åä¸ä¸ï¼å¹¶å¨ Vim ä¸æ§è¡`:PluginInstall`å½ä»¤ï¼å°±å¯ä»¥èªå¨ä» github ä¸æåæ件ï¼å½ç¶ä¹æåä¸äº github ä¸æ²¡æç = =ãèå¦æä¸æ³ç¨äºä»ä¹æ件ä¹æ é¡»å å»ï¼å¨é
ç½®ä¸æ³¨éæé£ä¸ªæ件çç¸å
³å°±è¡äºãå
·ä½é
置请移æ¥é
ç½®ç¯ï¼æ¤å¤å°ä¼è¯¦ç»ä»ç»æçå个æ件ã
-
-#### æ件管ç
-
-ä½¿ç¨ Vim çæ¶åæå¼æ件æ¾ç¶æ¯«ä¸æ¹ä¾¿ï¼ä¸è®ºæ¯å¨ç®æ æ件夹ä¸å©ç¨
-
-```shell
-vim filename
-```
-
-æå¼æ件è¿æ¯å¨ Vim å
ä½¿ç¨ `:e filename` æ¥æå¼æ件æ¾ç¶é½è¿äºéº»ç¦ãé£ä¹æ没æä»ä¹æ´å¥½çæ³åï¼
-
-çæ¡æ¯æ¾ç¶çï¼Vim çç¨æ·ä»¬å¼åäº nerdtree è¿ä¸æ件ãè¿ä¸ªæ件达å°äºä¸ç§ç±»ä¼¼äº VScode ä¸çææââå·¥ç¨ç®å½æ ï¼ä¹éå¨å·¦ä¾§ç®å½æ éä¸ç¸åºæ件å³å¯æå¼ç¸åºæ件ãè¿å¨é
ç½®ç¯ä¸å°ä¼æä»ç»ãnerdtree çå¼å¯æ¹å¼æ¯å¨ Vim ä¸è¾å
¥ `:NERDTreeToggle` ï¼å®ä¼å¨å·¦ä¾§æå¼ä¸ä¸ªä¾§è¾¹æ çªå£ãæç¥éè¿æ¾ç¶å¤ªè¿éº»ç¦ï¼æ以å¨é
ç½®ä¸æç»å®èµäºäº F10 è¿ä¸ªå¿«æ·é®ãè³äºå
·ä½è¿æä»ä¹å¿«æ·é®ï¼è¯¦è¯·åç
§ [æ¤æç« ]([http://yang3wei.github.io/blog/2013/01/29/nerdtree-kuai-jie-jian-ji-lu/)ã
-
-ä¹è®¸æ人è¦è¯´èåºä¸è¯¥å¦ä½å¢ï¼æ²¡å
³ç³»ï¼Vim èªå¸¦äºä¸ä¸ªç¨éä¸ç¹çæ件管çå¨ netrw ãå¦æä½ çå½ä»¤æ¯è¿æ ·ç
-
-```shell
-vim æ件夹(æè
说ç®å½)è·¯å¾
-```
-
-æè
æ¯å¨ Vim ä¸ `e æ件夹路å¾`å³å¯æå¼ç®å½æ件ï¼ä½ å¯ä»¥äº²æè¯ä¸è¯ï¼æè§å¾è¿ä¸ªè¿æ¯ä¸é¾ç¢ç£¨çãåæ¶å¨ä¸è¿°ä¸¤ä¸ªå½ä»¤ä¸å¯ä»¥ç¨`.`æ¥è¡¨ç¤ºå½åå·¥ä½ç®å½ï¼æææ¯å¯ä»¥ç¨
-
-```shell
-vim .
-```
-
-æè
å¨ Vim ä¸ä½¿ç¨ `e .` æ¥å¼å¯æ件
-
-å½ç¶ï¼å¦æä»
æ¯å¦æ¤è¿ä¸å¤ï¼ä½¿ç¨æ件管çå¨æå¼æ件çè¯ï¼å®¹æ使工ä½ç®å½åºç°å·®éï¼ä»è导è´ç¼è¯çç¨åºä¸åå¨äºåæ件夹ä¸ï¼æä»¥ä½ çé
ç½®æ件ä¸è¿é以ä¸è¯å¥ï¼
-
-```vim
-set autochdir
-```
-
-å®çä½ç¨æ¯ä¼èªå¨æå·¥ä½ç®å½ç§»å¨å°å½åç¼è¾æ件æå¨ç®å½ã
-
-#### ç¾åçé¢
-
-é¦å
å°±æ¯é£è¡ç½ä¹ä¹çç¶ææ ï¼æ¾ç¤ºçä¿¡æ¯è¿ä¸å¤å¤ï¼ä¹ä¸å¥½ç对å§ãæ¾ç¤ºçä¿¡æ¯æ¯å¯ä»¥å¨é
ç½®ä¸åçï¼è¯·ç§»æ¥é
ç½®ç¯ãä½æ¯ä¸å¥½ççé®é¢æä¹è§£å³å¢ï¼è¿ä¸ªæ¶å就轮å°äº airline æ件åºé©¬äºï¼ä¸å¤è¯´ï¼æ¾ä¸¤å¼ å¾èªç¶æç½ã
-
-![airline1](./images/airline1.png)
-
-![airline2](./images/airline2.png)
-
-ç¶åï¼å
¶å®æ们ç nerdtree æ件ä¹æ¯å¯ä»¥ç¾åçï¼åæ¶å¤å®è£
ä¸ä¸ªå°æ件åä¸ç¹é
ç½®å³å¯è¾¾å°ç¾åææï¼å
·ä½è¯·ç§»æ¥é
ç½®ç¯é£ç¨ã
-
-#### å¯å¨çé¢
-
-è¿ä¸ªå
¶å®å¯æå¯æ ï¼æ¯ä¸ä¸ªè½å¿«æ·é®æå¼åå²è®°å½çä¸ä¸ªæ件 vimplus-startifyï¼å
·ä½å¯ä»¥èªå·±å°è¯ã
-
-#### å°æ¹ä¾¿æ§æ件
-
-commentary ï¼å¿«æ·é® `gc` 注ééä¸è¡ï¼`gcu` æ¤éä¸æ¬¡æ³¨éã
-
-syntastic ï¼`:w` ä¿åæ¶æ示è¯æ³é误ï¼éé
ç½®ä¸è®¾ç½®æ éæ ·å¼ï¼å¦æçå°±ä¼å¨è¡åæ¾ç¤º `>>`ã
-
-easymotion ï¼å¿«é跳转ï¼æèªå·±å
¶å®é½ä¸ä¼ç¨ 233ï¼éè¦å¯ä»¥æ¥é
èµæã
-
-rainbow ï¼ å½©è¹æ¬å·ï¼ä½¿å
·æå
å«å
³ç³»çæ¬å·æ¾ç°åºä¸åçé¢è²ï¼å¢å¼ºå¤æ¬å·ä»£ç çå¯è¯»æ§ã
-
-delimitMate ï¼ æ¬å·è¡¥å
¨åè½ãåæ¶èè¯ä¸å¯ç¨é
ç½®å®ç°é¨ååè½ï¼é
ç½®ç¯ä¸ä¼è®²è¿°ã
-
-vimcdoc ï¼æ±å Vim å¨çº¿ææ¡£ã
-
-gundo ï¼è¿ä¸ªæ件å°è½å¤æ¾ç¤ºä½ çæ件修æ¹æ ï¼å°±å github ä¸ä¸è¬è½å¤åå°åå²çæ¬ï¼æ¶å
æºå QwQ ãVim ä¸`:GundoToggle`å³å¯å¨å·¦ä¾§æå¼æ¶å
æºã
-
-vimim ï¼è¿ä¸ªçå®è£
ä¸å¨é
ç½®ä¸ï¼ç¸å½äº Vim èªå¸¦ä¸æè¾å
¥æ³ï¼éå¨ `.vim` ä¸å建æ件夹 plugin 并æ [ä»è¿é](https://www.vim.org/scripts/download_script.php?src_id=23122) ä¸å¾çæ件æå
¥æ¤æ件夹ä¸å³å¯ãæå¼ Vim 并è¿å
¥æå
¥æ¨¡å¼ï¼æä¸ Ctrl + / å³å¯å¯ç¨ãä½æ¯ä½¿ç¨çæ¯äºè¯åºï¼è¥æ²¡ç½å°±ä¼å¡æ»ãæ以建议ä¸è½½[æ¬å°è¶
大è¯åº](https://github.com/vimim/vimim/raw/master/plugin/vimim.gbk.bsddb)ï¼ä¹æ¾å
¥ plugin æ件夹ä¸ï¼ä¸æ件èæ¬åç®å½å³å¯å¯ç¨ã
-
-vim-instant-markdown ï¼è¿ä¸ªæ件å¯å°±å害äºãVim ç¨ä¹ æ¯äºä¹åä»ä¹é½æ³ç¨ Vim æ¥åï¼æ¯å¦æ³ç¨ Vim æ¥å Markdown 并å®æ¶é¢è§æä¹åï¼äºæ¯è¿ä¸ªå¼ºå¤§çæ件就è¯çäºï¼å½æå¼ Markdown æ件æ¶ä¼èªå¨å¨æµè§å¨ä¸æå¼ä¸ä¸ªæ ç¾é¡µï¼å°è½å¤å®æ¶é¢è§ä½ ç Vim ä¸ç markdown å
容ã
-
-ä¸åæ件çå®è£
åæ³åå¿«æ·é®åé
ç½®çå¨é
ç½®ç¯ä¸ï¼è¯·ç§»æ¥ã
-
-### é
ç½®ç¯
-
-[æçé
ç½®](https://github.com/LuoshuiTianyi/Vim-for-OIWiki) Ps: æç .vimrc æ¶å»å¨æ¹ï¼æ以è¿åªæ¯ä¸ªå¯æ¬â¦â¦
-
-ç»åæçé
置讲ä¸è®²ä¸äº Vim ä¸çå°ç»èåå¿«æ·é®ä»¥åä¸äºâ¦â¦ ä¸éå
«éçä¸è¥¿ï¼
-
-Vim çé
ç½®è¯æ³æ²¡é£ä¹éº»ç¦ï¼åºæ¬ä¸å°±æ¯ set å¼å¯é项ï¼call xxx() è°ç¨å½æ°ï¼func ä¸ endfunc å®ä¹å½æ°ï¼exec æ§è¡å½ä»¤ï¼if å endif æ述以ä¸æ¡ä»¶è¡¨è¾¾å¼ï¼" 表示注éï¼source 表示åºç¨å¥çï¼è¯æ³å Vim å½ä»¤è¡ä¸ä¸æ¨¡ä¸æ ·ï¼åªæ¯å½ä½ æé
ç½®æ件åå
¥ï¼Vim å¼å¯æ¶ä¼èªå¨æ§è¡é
ç½®ä¸çæ¯ä¸è¡è¯å¥ã
-
-#### åºç¡è®¾ç½®
-
-æå¿
须说æçé
ç½®éå
¶å®æ²¡æèæ¯æ¹é¢ç设置ï¼å 为æé»èæ¯å 个éæåå¾èæäºâ¦â¦ æ¥ä¸æ¥æä¼æéè¦çé
ç½®æ¥è®²ï¼å©ä¸çå¯ä»¥ç»åæçé
ç½®å
ç注éæ¥ç
-
-é¦å
使ç¨åç§æ件容æä¸ vi ç模å¼äº§çå²çªï¼æ以æ们è¦å
³é vi çåè½ï¼é£ä¹å°±æäºå¦ä¸é
ç½®ï¼
-
-```vim
-set nocompatible
-```
-
-éè¿è¿ä¸ªè®¾ç½®å°å
³éåæ vi çåè½ä»¥é²å²çª
-
-éåï¼å½ä½ æå¼ä½ ç cpp æ件æ¶ï¼ä½ ä¼åç°åå
¶ä¹ä¸ï¼å 为没æäºè¯æ³é«äº®ï¼ä¸åé½æ¯ä¸ä¸ªé¢è²äºãé£ä¹é
ç½®ä¸éå å
¥å¦ä¸ä¸¤è¡
-
-```vim
-syntax enable
-syntax on
-```
-
-åå«æ¯å¼å¯é«äº®æ¯æä¸å¼å¯è¯æ³é«äº®
-
-ç¶åæ¯æ们å¯ç±çç¶ææ ï¼`set laststatus=2` è¿è¡é
ç½®å°ä¼ä½¿å¾ç¶ææ æ»æ¯æ¾ç¤ºï¼èç¶ææ ææ¾ç¤ºçä¿¡æ¯å¨é
ç½®ä¸æ¯å¯ä»¥è®¾ç½®çã设置å¦ä¸ï¼
-
-```vim
-set statusline=\ %<%F[%1*%M%*%n%R%H]%=\ %y\ %0(%{&fileformat}\ [%{(&fenc==\"\"?&enc:&fenc).(&bomb?\",BOM\":\"\")}]\ %c:%l/%L%)
-```
-
-è¿ä¸è¡ä¼ä½¿ç¶ææ æ¾ç¤ºå
æ¬æ件路å¾ï¼æ¨¡å¼ï¼æ件类åï¼æ件ç¼ç ï¼æå¨è¡æ°ä¸åæ°ï¼ä»¥åå
æ æå¨å¤æ¯æ件çç¾åä¹å¤å°ãå ä¸ airline æ件ï¼æ¢ç¾è§åå®ç¨ã
-
-åç¶åï¼é»è®¤æ
åµä¸æ¢è¡ç¬¦æ¯ä¸å¯è¢«å é¤çï¼é¤éä½¿ç¨ `dd` å½ä»¤æè
`J` å½ä»¤æå¯åå°ãé£ä¹æ们éè¦ `set backspace=indent,eol,start` è¿è¡é
ç½®æ¥è§£é¤è¿ç§éå¶ã
-
-æ¾ç¶è¿æä¸ä»¶äºï¼é£å°±æ¯è¡å·çé®é¢ãä¸ç®¡æ¯è¯æµæ件åäºå¤å°è¡è¿æ¯æ³è¦ä½¿ç¨ `æ°å + G` çå½ä»¤è·³è³æå®è¡ï¼æ²¡æè¡å·çæ¾ç¤ºè¯å®æ¯å´©æºçãé£ä¹å¯ä»¥ä½¿ç¨ `set number` å¼å¯è¡å·æ¾ç¤ºçåè½ãç¶åæ¯ Vim çèªå¨æè¡åè½ï¼é£å°±æ¯å½æä¸è¡è¶
è¿äº Vim çªå£çè¾¹çï¼Vim ä¼æä¹åå¢ï¼å¤åºçé¨åä¼èªå¨æ¾ç¤ºå¨ä¸ä¸è¡ï¼èè¿ç§å¤åºæ¥çè¡åé¢æ¯æ²¡æè¡å·çï¼æ¯è¾å¥½è¾¨è®¤ï¼è¿äºè¡è¢«ç§°ä¸ºå±å¹è¡ï¼èæ ¹æ®è¡å·ä¸ä¸å¯¹åºç便称ä½å®é
è¡ãä½æ¯ä»
ä»
åççåé¢çè¡å·æ¥è¾¨è®¤æ个æä¸æ¥çè¡å±äºé£ä¸ªå®é
è¡çè¯ï¼è¿æ¯ä¸å¤å¿«ãæ们å¯ä»¥ä½¿ç¨`set cursorline`æ¥å¼å¯é«äº®æ¾ç¤ºå½åè¡ï¼èè¿ä¸ªé«äº®ä¹æ¯å¯ä»¥è®¾ç½®çï¼æçé
ç½®éä¹æã
-
-ç¶åæ¯æ们å¨åºç¡ç¯ä¸æå°è¿çï¼å¼å¯é¼ æ æ¯æ`set mouse=a`ï¼ä»¥åæ件ç¯ä¸æåç`set autochdir`ä¸è¿é¶ç¯ä¸æç`set fillchars=vert:\ ,stl:\ ,stlnc:\` è¿ä¸ä¸ªé
ç½®ï¼ä½ç¨åææåã
-
-å
¶ä»çå¾æé
ç½®éçå¦ wwwwã
-
-é£ä¸ª `zsh` æ¯ä¸ä¸ª shell çç¸å
³ç¨åºï¼æå
´è¶£çå¯ä»¥æ¥æ¥ï¼æ²¡å
´è¶£çå æå§ QwQã
-
-è¿æä¸ä»¶äºï¼å°±æ¯æ件ç¼ç ï¼è®¾ç½®å¦ä¸ï¼
-
-```vim
-set langmenu=zh_CN.UTF-8
-set helplang=cn
-set termencoding=utf-8
-set encoding=utf8
-set fileencodings=utf8,ucs-bom,gbk,cp936,gb2312,gb18030
-```
-
-#### å¿«æ·é®è®¾ç½®
-
-å
¶å® Vim æ®é模å¼ä¸æ²¡æå¤å°æé®æ¯ "èªç±èº«"ï¼é£ä¹ç¨æ·è¯¥å¦ä½å®å¶èªå·±çå¿«æ·é®å¢ï¼Vim 为æ¤æä¾äº leader é®æ¥æå¡ãleader é®å¨é
ç½®ä¸ç±èªå·±å®å¶ï¼åªéè¦ççä¸è¡
-
-```vim
-let mapleader ï¼ ""
-```
-
-åå¼å·ä¹é´å°±æ¯ä½ èªå·±å®ä¹ç leader é®å¦ã
-
-设置快æ·é®æä¹åå¢ï¼
-
-```vim
-nnoremap å¿«æ·é® æ令
-inoremap å¿«æ·é® æ令
-```
-
-两è¡åå«ä»£è¡¨äºå¨æ®é模å¼ä¸åæå
¥æ¨¡å¼ä¸çå¿«æ·é®æ§è¡æ令ãå½ç¶æ令ä¸ç¨æ³å¤äºï¼æ²¡æä»ä¹è¯æ³ï¼å°±æ¯ç¸å½äºå¨é®çä¸æä½ æ令ä¸åä¸çé®èå·²â¦â¦
-
-é¦å
æç个人快æ·é®éæ±å
¶å®ä¸æ¯å¾å¤ï¼æç leader é®æ¯ \`ï¼ä½æ¯å¤äºä¸ç§åå·æ¿å³çç¶æï¼å°±æ´æ°æ件çæ¶åç¨ä¸ç¨ï¼ä¸è¿è¿æ¯å¾æ¹ä¾¿çï¼æç设置æ¯ï¼
-
-```vim
-nnoremap i :PluginInstall
-```
-
-``代表å车ã设置ä¹ååªéè¦è¿ç»æ ``i å³å¯æ´æ°æ件ï¼å¾æ¹ä¾¿ã
-
-é£ä¹ä½ æ没æçå°å¦ä½å©ç¨é
ç½®ååºæ¬å·è¡¥å
¨çé¨ååè½å¢ï¼æ²¡éï¼å°±æ¯å©ç¨å¿«æ·é®ãå°æå
¥æ¨¡å¼ä¸çå·¦æ©å·å½åå¿«æ·é®å³å¯ï¼æ令就æ¯`()`ãå¦æè¡¥å
¨åè¦ä½¿å
æ å¨æ¬å·éæä¹åå¢ï¼å¦æä»ç»è§å¯ä½ å°±ä¼åç°æ¯å½éåºæå
¥æ¨¡å¼ï¼å
æ æ»æ¯ä¼ååè·³ä¸ä¸ªå符ï¼æ们å¯ä»¥å©ç¨è¿ä¸ç¹ï¼ç»å `Esc + i` ä¸å°±åæäºååä¸ä¸ªå符è¿è¡æå
¥åï¼æ»ç»ä¸æ¥é
ç½®å¦ä¸ï¼
-
-```vim
-inoremap ( ()i
-inoremap [ []i
-inoremap " ""i
-inoremap ' ''i
-```
-
-å½ç¶æçé
ç½®é没æï¼èä¸æä¹ä¸ç¨æ¬å·è¡¥å
¨æ件ï¼å
¶å®åå æ¯å 为æå¸ææçæ¤éæ ä¼æ´åçä¸å¥½çãä½ ä¼åç°ï¼æ¬å·è¡¥å
¨ä¸ºäºä½¿å
æ åå°æ¬å·å
ï¼å·²ç»éåºäºä¸æ¬¡æå
¥æ¨¡å¼ï¼é£ä¹æ¤éå½ä»¤çææå°±ä¸å®æ´äºãèä¸å
¶å®æå
¥æ¨¡å¼ä¸ä½¿ç¨æ¹åé®ï¼ä¹ç¸å½ä¸æ¨åºæå
¥æ¨¡å¼ç§»å¨åéæ°åå°æå
¥æ¨¡å¼ï¼ä¹ä¼ä½¿æ¤éæ ä¸å®æ´ = =ãæä»¥ä½ ä¼åç°è¿é¶ç¯æå°çï¼æçé
ç½®éé£ä¸ªä¸§å¿ç
ççä¸è¥¿â¦â¦
-
-è¿è®°å¾è¿é¶ç¯éçåå±åï¼æ¾ç¶ä½¿ç¨é¼ æ ç¹å»æ¥éæ©æ´»å¨çªå£å¤ªæ
¢ï¼è移å¨å½ä»¤åå 个Ctrl+wä¹ä¸ä¹ æ¯å¯¹ä¸å¯¹ï¼æ以æçåæ³æ¯ç¨Ctrl+ 移å¨å½ä»¤æ¥æ å°åé¢çæé®ç»åã
-
-```vim
-nnoremap h
-nnoremap l
-nnoremap j
-nnoremap k
-```
-
-åºè¯¥æ¯åæ¥çææ³å¥½è®°ä¹å¥½æâ¦â¦ å§â¦â¦
-
-è¿è®°å¾èªå¨æè¡å§ï¼æ们ç`hjkl`å½ä»¤å
¶å®é½æ¯å¨å®é
è¡ä¹é´ç§»å¨ï¼èæä¸æ¥çå±å¹è¡å®å¨æ¯æ²¡æ³åï¼åªè½ç¨ `l` é®ä¸æ移è¿å»ãä½å®é
ä¸ï¼`g + 移å¨å½ä»¤` 便è½å¤ä½¿ä½ å¨å±å¹è¡é´ç§»å¨ï¼å 为èèå°è¿ç§ç§»å¨ç常ç¨ï¼æéæ©å°`g + 移å¨å½ä»¤`ä¸ç§»å¨å½ä»¤åè¿æ¥æ å°ã
-
-```vim
-noremap j gj
-noremap gj j
-noremap gk k
-noremap k gk
-```
-
-åæä¹é½è¯´äºï¼èªç±èº«çå¿«æ·é®ä¸å¤ï¼`F1~F12` å°±æ¯æ¹ä¾¿èèªç±çå¿«æ·é®ãé£ç¨å®ä»¬æ¥å¹²åå¢ï¼
-
-F9ä¸é®ç¼è¯
-
-ææ³æäºä¹åçç¼è¯å½ä»¤ï¼åºç¡ç¯å½ä»¤è¡æ¨¡å¼ä¸çä»ç»ï¼ä½ åºè¯¥å¤§æ¦è½æ个æè·¯äºå§ãä½åºçæä½è¯å®å¦ä¸ï¼
-
-```vim
-:w " ä¿å
-:g++ xxx.cpp -o xxx " ç¼è¯
-:./xxx " è¿è¡
-```
-
-é£ä¹å¦ä½å®ç°å¢ï¼æå¾åäºå个å½æ°ï¼
-
-```vim
-nnoremap :call CompileRunGcc()
-func! CompileRunGcc()
- exec "w"
- exec '!g++ % -o %<'
- exec '!time ./%<'
- endfunc
-```
-
-第ä¸è¡ä»£è¡¨è¿è¡ `CompileRunGcc` å½æ°ï¼ç¬¬äºè¡ä»£è¡¨å®ä¹å½æ°ï¼ä¸è³äºè¡ä»£è¡¨å½æ°è¿è¡å
容ï¼ç¬¬å
è¡ä»£è¡¨å½æ°ç»æã`exec` 表示æ§è¡å½ä»¤ï¼`%` 表示å½åæ件åï¼`%<` 表示å½åæ件åå»æåç¼çååãææ³ä½ åºè¯¥æ¯çå¾æå½æ°å
容çã
-
-ä¸è¿å¦æä½ ä½¿ç¨å¾å¤äºï¼å°±ä¼åç°å½æä¸ F9 çæ¶å转å°å¦ä¸ä¸ªå±å³ç»ç«¯è¿è¡è¿è¡ï¼ä½æ¯æ¯è¿è¡ä¸æ¬¡é½ä¼å¤ä¸äºä¿¡æ¯ãå¦æ¤ç´¯ç§¯çè¯å¤æ¥å 次æ´ä¸ªç»ç«¯å°±æ»¡äºï¼è¿æ¶å¯ä»¥ä½¿ç¨ bash ä¸çå½ä»¤
-
-```shell
-clear
-```
-
-æ¥æ¸
å±ï¼ä¸è¿æå¾åäºä¹æå®å°è£
å¨ä¸ä¸ªå¿«æ·é®å
ï¼æ F12 å°±ä¼èªå¨æ¸
å±äºï¼ä¸ªäººè§å¾ç¨çæºç½â¦â¦
-
-```vim
-nnoremap :call Clss()
-func! Clss()
- exec '!clear'
- endfunc
-```
-
-è¿æï¼å¨ Vim ä¸æ§è¡å¤é¨å½ä»¤çºµä½¿æ `:!` çæ¹æ³ï¼å
¶å®è¿æ¯ä¸æ¹ä¾¿ï¼è¦æ¯è½ç´æ¥å¨ Vim ä¸åæå¼ä¸ä¸ªç»ç«¯å°±å¥½äºï¼å¯¹å§ãVim ä» 8.0 ä¹åå°±å¢æ·»äºå¨å
é¨å个å±æ¥æå¼ä¸ä¸ªç»ç«¯çåè½ï¼å½ä»¤æ¯ `:terminal`ãæ个人ä¹å°å®è®¾ç½®æäºå¿«æ·é®ï¼ä½ä¸ºå¼ºè¿«çè¿æ¯è£
å¨äºå½æ°ä¸ = =ãææ³æäºå½ä»¤ä½ åºè¯¥èªå·±ä¼åäºã
-
-```vim
-nnoremap :call Term()
-func! Term()
- exec 'terminal'
- endfunc
-```
-
-æF8å°±è½å¨ä¸é¢ååºä¸ä¸ªçªå£æå¼ç»ç«¯äºã
-
-ä»äºæ´åç§ Vim çæ¬çåè¿«ï¼Vim ä½è
ä¹æ¯å¥åå¾å¼ºï¼Vim 8.1 åæ´æ°äºè°è¯ç¨åºï¼å
ç¨`packadd termdebug`å¼å¯æ¤è®¾ç½®ï¼ç¶åå¨ Vim ä¸è¾å
¥`:Termdebug + ç¼è¯åºçç¨åºå称`å³å¯å¼å§ GDB çè¿ç¨ï¼å
·ä½è¯¦ç»æä½å¯ä»¥åè[è¿ç¯æç« ](https://fzheng.me/2018/05/28/termdebug/)ãè¿ä¸ªèªç¶ä¹è¢«æå°è£
å½æ°äº >\_<ã
-
-```vim
-packadd termdebug
-nnoremap :call GDB()
-func! GDB()
- exec 'Termdebug %<'
- endfunc
-```
-
-#### å代ç 好ç¨ç
-
-é¦å
æ¯ Tab é®ï¼æ们å¯ä»¥ç¨ `set tabstop=` æ¥å®ä¹ Tab çé¿åº¦ï¼ä¸è¬å½ç¶æ¯ 4 ä¸ªç©ºæ ¼ï¼å¨çäºå·åé¢å¡«çæ°åæ¯å¤å°é£ä¹é¿åº¦å°±æ¯å¤å°ç©ºæ ¼ã
-
-ç¶åæ¯å代ç çæ¶åï¼å½å¤ä¸ªæ¬å·åµå¥æ¶ç¨èç¼æ¾ç¶ä¸å¥½çåºå¯¹åºçæ¬å·ï¼é£ä¹æ们å¯ä»¥ç¨ `set showmatch` å¼å¯é«äº®æ¾ç¤ºå¹é
æ¬å·ã
-
-æçæ¶åæå¼ Vim æ¯ä¸æ¯ç»å¸¸ä¼æ示æä»ä¹ swap æ件æ¯å¦ç¡®è®¤å¥çï¼é£ä¸ªæ¯ä¸´æ¶ç¼åæ件ï¼æºç¦çï¼æ们å¯ä»¥ä½¿ç¨ `set nobackup` ä¸ `set noswapfilei` æ¥ç¦æ¢å
¶çæï¼è¿æ ·å°±æ¹ä¾¿èç½å¤äºï¼è¿æ¯å¼çå§ï¼ã
-
-æååï¼å¤§å¤æ°æ¶åè°è¯ä»£ç é½ä¼ç¨ `freopen` æ¥è¾å
¥è¾åºï¼åå©ç¨åå±æä½æ¥æå¼ `.in` `.out` æ件ï¼å°±å¯ä»¥å®æ¶çå°ç»æãä¸è¿æ¯æ¬¡è¿è¡ç¨åºä¹åä½ é½ä¼åç°å 为 `.out` æ件çä¿®æ¹èä¼å¼¹åºä¸ä¸ªç¡®è®¤é项æ¯å¦éæ°å è½½æ件ï¼è¿ä¸ªä¹æ¯å¾ä¸ç½çï¼æ们å¯ä»¥å¼å¯ `set autoread` é项以èªå¨å è½½æ¹å¨çæ件ã
-
-#### å
³äºæ件
-
-æ件ç¯ä¸è¯´å°äºå¼ºå¤§çæ件管çå¨ Vundleï¼é£ä¹å¨é
ç½®ä¸è¯¥å¦ä½åå¢ï¼æ¡æ¶å¦ä¸ï¼
-
-```vim
-set rtp+=~/.vim/bundle/Vundle.vim
-call vundle#begin('~/.vim/èªå·±å建çç¨æ¥æ¾æ件æ件çæ件夹')
-
-call vundle#end()
-```
-
-å¨ä¸¤åä¹é´æ¥åéè¦å®è£
çæ件ï¼æ ¼å¼å¦ä¸ï¼
-
-```vim
-Plugin 'ä½è
Github ä¸çåå/Github ä¸çæ件ä»åºå'
-```
-
-åå®ä¿ååè¿å
¥ Vimï¼ä½¿ç¨ `:PluginInstall` å³å¯èªå¨å¼å§å®è£
ã
-
-æçæ件å表ï¼
-
-```vim
-set rtp+=~/.vim/bundle/Vundle.vim
-call vundle#begin('~/.vim/plugged')
-
-Plugin 'VundleVim/Vundle.vim' " 使ç¨Vundleçå¿
é¡»é
ç½®
-Plugin 'chxuan/vimplus-startify' " å¯å¨çé¢
-Plugin 'scrooloose/nerdtree' " ç®å½æ
-Plugin 'tiagofumo/vim-nerdtree-syntax-highlight' " ç®å½æ ç¾å
-Plugin 'vim-airline/vim-airline' " ç¶ææ ç¾å
-Plugin 'vim-airline/vim-airline-themes' " ç¶ææ ç¾å主é¢
-Plugin 'tpope/vim-commentary' " å¿«é注é
-Plugin 'scrooloose/syntastic' " è¯æ³é误æ示
-Plugin 'Lokaltog/vim-easymotion' " å¿«é跳转
-Plugin 'luochen1990/rainbow' " 彩è¹æ¬å·
-"Plugin 'Raimondi/delimitMate' " æ¬å·è¡¥å
¨
-Plugin 'yianwillis/vimcdoc' " HELPææ¡£ä¸æ
-Plugin 'sjl/gundo.vim' " æ¤éæ
-Plugin 'suan/vim-instant-markdown' " markdown å®æ¶é¢è§
-
-call vundle#end()
-```
-
-å
³äºæ件å
¶å®ä¹æç¸å
³é
ç½®ï¼ä½æ¯é½åå¨ä¸èµ·å°ä¼ä½¿å¾ `.vimrc` ååèè¿ï¼æ们å¯ä»¥é¢å¤åå¨å«çæ件éï¼ä¸è¬æ件åºè¯¥ä¿åå¨ `home` ä¸ï¼ç¶åå¨é
ç½®ä¸åä¸ `source $HOME / æ件路å¾` å³å¯ãæç nerdtree, syntastic å airline é½é¢å¤åäºå«çæ件ã
-
-åæ¶æçé
ç½®éå
³äºæ件çå¿«æ·é®å¦ä¸ï¼
-
-```vim
-F10 ï¼å¯å¨ nerdtree 侧边工ç¨ç®å½æ
-F7 ï¼å¯å¨ Gundo æ¶å
æº
-```
-
-### å
³äºé«æç¼è¾ç建议
-
-为ä»ä¹ Emacs å Vim è¿äºç¼è¾å¨æçé«ï¼
-å¾éè¦çä¸ç¹å¨äºè¿äºç¼è¾å¨å¯ä»¥è®©ä½ åæä½ çå³åé¨åçé®çèè®©ä½ çåæå§ç»å¤äºä¸»é®çåºå, 并ä¸è®©ä½ çåæä¿æåä½, èä¸ä¼åºç°ä¸åªæä¸åçæèå¦ä¸åªææå¨é®çä¸ã
-æ以, å¦æä½ æ³ç¨å¥½ Vim(æè
å
¶ä»é«çº§ç¼è¾å¨), ä¸è¦å»ææ¹åé®, ä¸è¦å»ç¢°é¼ æ , ä½ çè³å¯ä»¥å¼ºè¿«èªå·±ï¼
-
-## Vim -- ç¼è¾å¨ä¹ç¥
-
-### åå²ä¸äºç«¯
-
-Vim çåèº«æ¯ viï¼ä¸ä¸ªç®æ´ä½æ¯ç¥æä¸è¶³çç¼è¾å¨ï¼ä½æ¯ä» vi å¼å§ï¼ç¼è¾å¨ç模å¼åºååå¯å¿«ä¸ç ´çææ³å°±å·²ç»ä½ç°çå¾å°ä½äºãVim å³æ¯ vi improvedï¼æ¯å¨ vi åæ¬ææçæ¹å¼ä¸è¿è¡çè¿ä¸æ¥æåï¼ä½æ¯å¹¶ä¸ä¼æ¹å vi çå
¶ä»æ¬è´¨ï¼åªæ¯å¢å äºæ´å¤éåºå¦ä»éè¦çä¸äºåè½ã
-
vi äº 1976 å¹´è¯çï¼ä¸ Emacs ä¸åå
åï¼ä¸¤è
å å
¶å¿«æ·çç¼è¾è¢«å¥ä¸ºä¸»æµçç¥å¨ï¼çè³ä½¿ç¨è
们è¿æçåè¿ âå£æâï¼å³æ¯ `ç¥çç¼è¾å¨ Emacs` VS `ç¼è¾å¨ä¹ç¥ Vim`ï¼ä½æ¯å½ç¶åä¸åºç»æï¼å 为åæä¼å£ãä½å®ä»¬å
±æçç¹ç¹å°±æ¯é«åº¦çæ©å±æ§ä¸é«åº¦çå¯å®å¶æ§ä»¥åå¿«æ·æ¹ä¾¿ç使ç¨ã
å³ä½¿å¾å¤äººè¯´å®ä»¬èäºï¼å¤ªè¿å¤èçä¸è¥¿åºè¯¥æ·æ±°æãä½æ¢ç¶è½å¤çåè³ä»ï¼å®ä»¬çå¼¥åæ§å½ç¶ä¹æ¯å¾å®¢è§çï¼ä¹ä¼æçæäºç°ä»£ç¼è¾å¨æ æ³å¡«è¡¥çä¼å¿ã
--
2.11.0