Linux下vim编辑器命令大全
vim可以分为三种状态,分别是 命令行模式(command mode) 、 输入模式(Insert mode) 和 底行模式(last line mode) ,这 3 种工作模式可随意切换,如下图所示。
使用vim编辑文件时,默认处于命令行模式。此模式下,可使用方向键(上、下、左、右键)或 k、j、h、i 移动光标的位置,还可以对文件内容进行复制、粘贴、替换、删除等操作。
下图所示是vim处于命令行模式的状态示意图。
在输入模式下,vim可以对文件执行写操作,类似于在Windows系统的文档中输入内容。
使vim进行输入模式的方式是在命令模式状态下输入 i 、 I 、 a 、 A 、 o 、 O 等插入命令(各指令的具体功能下表所示),当编辑文件完成后按 esc 键即可返回命令模式。
下图所示为vim处于输入模式模式下的示意图。
底行模式用于对文件中的指定内容执行保存、查找或替换等操作。
使vim切换到底行模式的方法是在 命令行模式 状态下按 : 键(注意是英文符号),此时vim窗口的左下方出现一个 : 符号,这是就可以输入相关指令进行操作了。
指令执行后vim会自动返回命令行模式。如想直接返回命令行模式,按 esc 即可。
下图所示为vim进入底行模式后的状态。
对于新手来说,经常不知道自己处于什么模式。不论是自己忘了,还是不小心切换了模式,都可以按一次 esc 键返回命令行模式。如果你多按几次 esc 键后听到"嘀————"的声音,则代表你已经处于命令行模式了。
打开文件
打开文件时光标处于文件尾部
打开文件时,光标定位到第几行
字符移动
这些移动键都可以加上数字(5h:向左移动5个字符格)
单词移动
行内跳转
行间移动
在底行模式下,直接给出行号,实现跳转
用法:起始地址,结束地址 s @要替换内容@替换后内容@gi(@分隔符)
例 :1,$s/a/A/g 把文件中全部的a换替换成A,全局替换
显示取消行号
设定自动缩进(写脚本时)
查找到的文本高亮显示
语法高亮
/etc/vimrc :全局配置文件,永久有效
~/.vimrc :个人配置文件,每个用户的家目录中,若不存在,手动创建
对于第一次用vim的童鞋,有几点需要提醒一下:
绛旓細vim鍙互鍒嗕负涓夌鐘舵侊紝鍒嗗埆鏄 鍛戒护琛妯″紡(command mode) 銆 杈撳叆妯″紡(Insert mode) 鍜 搴曡妯″紡(last line mode) 锛岃繖 3 绉嶅伐浣滄ā寮忓彲闅忔剰鍒囨崲锛屽涓嬪浘鎵绀恒備娇鐢vim缂栬緫鏂囦欢鏃讹紝榛樿澶勪簬鍛戒护琛屾ā寮忋傛妯″紡涓嬶紝鍙娇鐢ㄦ柟鍚戦敭锛堜笂銆佷笅銆佸乏銆佸彸閿級鎴 k銆乯銆乭銆乮 绉诲姩鍏夋爣鐨浣嶇疆锛岃繕鍙互瀵规枃浠跺唴...
绛旓細ENTER锛屽洖杞﹂敭锛屾崲琛 BACK SPACE锛岄鏍奸敭锛屽垹闄ゅ厜鏍囧墠涓涓瓧绗 DEL锛屽垹闄ら敭锛屽垹闄ゅ厜鏍囧悗涓涓瓧绗 鏂瑰悜閿紝鍦ㄦ枃鏈涓绉诲姩鍏夋爣 HOME/END锛岀Щ鍔ㄥ厜鏍囧埌琛岄/琛屽熬 Page Up/Page Down锛屼笂/涓嬬炕椤 Insert锛屽垏鎹㈠厜鏍囦负杈撳叆/鏇挎崲妯″紡锛屽厜鏍囧皢鍙樻垚绔栫嚎/涓嬪垝绾 ESC锛岄鍑鸿緭鍏ユā寮忥紝鍒囨崲鍒鍛戒护妯″紡 ...
绛旓細绗竴绉嶆槸锛鎵嬪姩鏄剧ず锛氬湪vim鍛戒护琛屾ā寮忎笅杈撳叆锛歴etnu 鍙栨秷鏄剧ず锛氬湪vim鍛戒护琛屾ā寮忎笅杈撳叆锛歴etnonu 绗簩绉嶆槸锛屾案涔呰嚜鍔ㄦ樉绀猴細鎴戜滑淇敼涓涓厤缃枃浠躲傛垜浠緭鍏ュ懡浠わ細vim~/.vimrc 鎵撳紑鍚庢槸涓涓┖鏂囦欢锛屾垜浠坊鍔爏etnu锛屼繚瀛橀鍑猴紝鍐嶆杩涘叆vim缂栬緫鍣紝灏变細鑷姩鏄剧ず鍑鸿鍙蜂簡銆傚姝ょ畝鍗 Linuxvim濡備綍淇濆瓨閫鍑猴紵1...
绛旓細1銆Vim 鍛戒护琛杈撳叆Vim寰缂栬緫鐨勬枃鏈傝繘鍏ョ晫闈㈣緭鍏鍗冲彲杩涘叆缂栬緫妯″紡銆備繚瀛樺唴瀹瑰墠鎸変綇ESC锛屽湪杈撳叆鈥:wq鈥濆嵆鍙繚瀛樺唴瀹广備絾澶у鏁版椂鍊欐枃鏈唴瀹瑰緢澶氶渶瑕佷慨鏀圭殑鍦版柟锛屽彧鏄竴浜涘唴瀹规鏃堕渶瑕佹悳绱㈠畾浣嶅埌寰呬慨鏀规枃鏈綅缃紝鍐嶅幓淇敼锛屽湪鍛戒护琛屾ā寮忎笅鎼滅储鏂囧瓧銆2銆Linux甯哥敤鍛戒护 Linux绠浠嬶細Linux鍙湁涓涓枃浠舵爲,鏁翠釜鏂囦欢...
绛旓細1銆侀鍏堟墦寮Linux缁堢鍛戒护琛锛岃緭鍏Vim鍛戒护锛屽涓嬪浘鎵绀 2銆佽繘鍏Vim缂栬緫鍣浠ュ悗鎴戜滑浼氬彂鐜颁笉绠℃寜浠涔堥敭閮戒笉鑳借緭鍏ュ唴瀹癸紝濡備笅鍥炬墍绀猴紝鍥犱负鐜板湪澶勪簬鍛戒护妯″紡 3銆佹帴涓嬫潵鎴戜滑鎸夐敭鐩樹笂鐨刬閿粠鍛戒护妯″紡杩涘叆鍒扮紪杈戞ā寮忥紝濡備笅鍥炬墍绀 4銆佺劧鍚庢垜浠細鐪嬪埌缂栬緫鍣ㄥ簳閮ㄤ細鍑虹幇insert瀛楁牱锛岃繖浠h〃褰撳墠鏄紪杈戞ā寮忥紝濡備笅鍥炬墍绀...
绛旓細1.杩涘叆vim缂栬緫鍣,鎸塩trl+v缁勫悎閿繘鍏ュ彲瑙嗗寲妯″紡(VISUALBLOCK),2.鎸塲閿垨鑰卥閿Щ鍔ㄥ厜鏍(鎴栬呮寜涓婁笅鏂瑰悜閿Щ鍔ㄥ厜鏍),閫夋嫨瑕佹坊鍔犳敞閲鐨琛,3.閫夊畬涔嬪悗,鎸塈(澶у啓鐨勫瓧姣岻)閿,杩涘叆鈥渋nsert鈥濇ā寮,杈撳叆浣犺鎻掑叆鐨勬敞閲婄(濡#),4.鏈鍚庢寜esc閿,浣犱細鐪嬪埌浣犳墍閫夋嫨鐨勫琛岄渶瑕佹敞閲婄殑琛岄兘宸茬粡琚敞閲婁簡,linux...
绛旓細鍦linux涓鐢ㄤ粈涔堢紪杈戝櫒濂斤紵濡傛灉鏄湪缁堢鍛戒护琛锛屽氨鐢Vim缂栬緫鍣锛涘鏋滄槸鍥惧舰鐣岄潰鐨勭紪杈戝櫒锛岄夋嫨灏辨瘮杈冨浜嗭紝鍙互閫夋嫨澶у鏁癓inux鍙戣鐗堣嚜甯︾殑gedit锛堝拰Windows鐨勮嚜甯﹁蒋浠朵笉涓鏍凤紝杩欎釜gedit瓒呭ソ鐢紝缂栧啓浠g爜浠涔堢殑闈炲父鏂逛究锛夛紝杩樺彲浠ラ夋嫨鍍廣Scode銆丼ublimeText3绛夌瓑锛岄兘鎸哄ソ鐨勶紝鍏抽敭鏄湅涓汉鍠滃ソ鍜
绛旓細vim缂栬緫鏂囦欢鍛戒护锛焩im缂栬緫鍛戒护锛熶互涓嬫柟寮忓彲浠ヨ瘯璇 棣栧厛鍚姩vim:鐒跺悗鍦鍛戒护琛绐楀彛涓杈撳叆浠ヤ笅鍛戒护鍗冲彲锛(1)Vim鐩存帴鍚姩vim銆(2)Vimfilename鎵撳紑vim骞跺垱寤哄悕涓篺ilename鐨鏂囦欢銆傞夋嫨鏂囦欢鍛戒护銆(1)棣栧厛鎵撳紑鍗曚釜鏂囦欢vimfile銆(2)鍚屾椂鎵撳紑澶氫釜鏂囦欢vimefile1file2file3銆倂im鏂囨湰缂栬緫鎬庝箞娉ㄩ噴锛1.杩涘叆vim缂栬緫鍣,鎸...
绛旓細]p 鏈夌缉杩涚殑绮樿创锛寁im浼氳嚜鍔ㄨ皟鑺備唬鐮佺殑缂╄繘 鈥渁 灏嗗唴瀹规斁鍏/瀛樺叆a瀵勫瓨鍣紝鍙互鏀寔澶氱矘璐存澘 闄勶細姣斿甯哥敤鐨勪竴涓瘎瀛樺櫒灏辨槸绯荤粺瀵勫瓨鍣紝鍚嶇О涓+锛屾墍浠ヤ粠绯荤粺绮樿创鏉跨矘璐村埌vim涓殑鍛戒护涓衡+p,娉ㄦ剰姝ゅ鐨+涓嶈〃绀烘搷浣滅锛屼簩鍗佷竴涓瘎瀛樺櫒銆傜Щ鍔ㄥ厜鏍 鍦╲im涓Щ鍔ㄥ厜鏍囪窡鍏朵粬鐨勭紪杈戝櫒涓鏈夊緢澶х殑鍖哄埆锛...
绛旓細閭e氨鑰冭檻鐢ㄥ埆鐨勫懡浠銆傛瘮濡傜湅寮濮嬪彲浠ョ敤head鍛戒护銆傜湅缁撳熬鍙互鐢╰ail銆傜湅涓棿鐨勮瘽浣犲彲浠ョ敤split鍛戒护灏嗘枃浠舵埅鏂垚鍑犱釜灏忔枃浠剁劧鍚庡湪淇敼銆傛渶鍚庡悎骞朵笅灏卞ソ浜