vi 常用命令使用說明
vi是一種文字模式全螢幕文字編輯軟體(Text Editor)。對初學者來說,vi是個很難用的工具,一般需要2個星期的時間才能得心應手。之所以介紹vi,其理由如下:
- vi是Unix上的標準文字編輯軟體,不管哪個版本的Unix系統都會提供。想靠開發Unix的軟體混飯吃,必須熟練vi。
- vi難用的原因之一,是只有文字模式,不能使用滑鼠。但也正因為如此,熟練者不用移動手去操作滑鼠,寫起程式來特別快.
- vi難用的原因之二,是同一個畫面分成三種操作模式,每種模式又可下達複雜指令,初學者常會搞混。但vi所提供的複雜指令,對寫程式特別好用,一經試用便覺威力無窮。
另一個跟vi很像的軟體叫vim,算是vi的加強版,vi有的功能vim都有,還可以使用游標鍵。此處只介紹vi。
vi在操作上分成下面三種模式,你若搞不清楚現在在哪種模式,只用按鍵盤左上角的ESC鍵,就可以跳到Command Mode - Command mode( c-mode):
您一進入 VI 就是處於 c-mode,只能下按鍵指令,不能輸入文字。
這些指令可能是游標移動的指令,也可能是編輯指令或尋找替換指令。 - Input mode(i-mode):
按 i 就會進入 i-mode,此時才可以鍵入文字,寫您的文章,按 Esc 又會回到 c-mode。 - Ed mode(command-line mode,e-mode):
按冒號:(別忘了 Shift 鍵)就會進入 e-mode,左下角會有一個冒號:出現,可下 ed 指令。ed是Unix裡另一種非常古老的行模式Text Editor。所謂行模式,是一次只能觀看編輯一行文字,之所以會有這種模式,是因為遠古時代終端機的游標只能往下走(就像DOS視窗!),所以編輯軟體就只好這樣設計了。vi是由ed改良來的,因此保有ed的指令。
也是按 Esc 回 c-mode。反正正常狀態都是處於 c-mode,這樣才不會把您辛苦打字的文章給隨便搞亂掉。 - 開檔:
vi test.txt
或進入 vi 後,使用冒號命令 :e test.txt,就可以編輯 test.txt 這個檔。
如果 test.txt 不存在的話,就會開一個以 test.txt 為名的新檔案。
5.游標移動:
c-mode之下:h向左,j向下,k向上,l向右,Ctrl-F下一頁,Ctrl-B上一頁,Ctrl-G顯示檔案的狀態,$到行尾,^到行頭
e-mode之下:輸入數字n就會移到第n行
- 編寫文件:
在c-mode底下可用的命令:
u: undo上一個命令
o: 在此行的後面新增一行
O: 在此行的前面新增一行
i: 在游標的前一個位置插入字元
I: 在此行的開頭插入字元
a: 在游標的後一個位置插入字元
A: 在此行的最後面加入字元
r: 更改游標所在的字元
R: 覆蓋游標後的字元(一直打字就一直蓋掉,直到按ESC)
cl: 改掉一個字元
cw: 把游標所在的一整個字改掉(此字最後一個字母會變成$, 直到按ESC前的所有輸入都會用來改掉這一個字)
cc: 改掉游標所在的一整行
x: 刪除一個字元
dw: 刪除一整個字
dd: 刪除一整行
D: 刪除到行尾
yy: 複製一整行
yw: 複製一整個字
Y: 複製一整行
p: 貼在游標後(下)
P: 貼在游標前(上)
.: 重複上一個編輯命令
/: 向下搜尋(會在螢幕左下角出現/符號,只要輸入要找的字然後Enter即可)
?: 向上搜尋
n: 搜尋下一個
N: 搜尋上一個
以上命令除uoOD以外,前面都可以加上數字,表示此命令執行的次數,如5dd表示刪除五行,5yw複製五個字
7.e-mode下面的命令:
如果您寫好您的文件,就可以按Esc回到 c-mode,然後按:到e-mode,在e-mode底下的命令為
w: 存檔
w 檔名: 另存到檔名
q: 離開vi
wq: 存檔然後離開
q!: 強迫離開vi
w!: 強迫存檔
x: 存檔後離開, 但若檔案沒有修改,則不會存檔
!gcc test.c: !可用來呼叫shell執行命令, 此例中呼叫gcc編譯test.c
shell: 呼叫shell(回到命令列), 在shell中打exit則回到vi
r 檔名: 將檔名的內容讀到游標所在的行後
1,$s/abc/def/g: 由第一行到最後一行將所有的abc取代成def,若最一個/g不打, 則只取代每行的第一個
1,10s/abc/def/g:由第一行到第十行將所有的abc取代成def
基本Unix操作指令df 顯示系統可使用空間
ls 顯示資料檔案, ls -l可顯示更多的資訊
cp 複製檔案 cp file1 file2
mv 更改檔案名稱 mv file1 file2
rm 刪除檔案名稱 rm file1
passwd 更改password
mkdir 建立目錄 mkdir 目錄名稱
rmdir 刪除目錄 rmdir 目錄名稱
man 找出相關指令的說明,類似help的功能 man finger
vi 常用命令使用說明的更多相关文章
- vi 常用命令行
vi 常用命令行 1.vi 模式 a) 一般模式: vi 处理文件时,一进入该文件,就是一般模式了. b) 编辑模式:在一般模式下可以进行删除,复制,粘贴等操作,却无法进行编辑操作.等按下‘i,I ...
- Linux vi常用命令
vi常用命令[Ctrl] + [f] 屏幕『向前』移动一页(常用)[Ctrl] + [b] 屏幕『向后』移动一页(常用)0 这是数字『 0 』:移动到这一行的最前面字符处(常用)$ 移动到这一行的最后 ...
- [转]vi 常用命令行
From : http://www.cnblogs.com/sunormoon/archive/2012/02/10/2345326.html vi 常用命令行 1.vi 模式 a) 一般模式: v ...
- Linux笔记:vi常用命令
vi编辑器是所有Unix及Linux系统下标准的编辑器,在很多时候我们都需要使用vi修改服务端配置,vi其实非常强大,只要命令使用熟练的情况下,编辑速度并不亚于现在的图形化编辑器,这里简单地介绍一下它 ...
- Linux的vi常用命令详解
1.vi的基本概念 基本上vi可以分为三种状态,分别是命令模式(command mode).插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下: ...
- vi常用命令及快捷键
vi常用快捷键 1)移动光标 h :光标左移一个字符j :光标上移一个字符k :光标下移一个字符l :光标右移一个字符 0 :光标移至行首$ :光标移至行尾 H :光标移至屏幕首行M :光标移至屏幕中 ...
- Linux学习笔记:vi常用命令
在Linux系统中常用vi命令进行文本编辑. vi命令是UNIX操作系统和类UNIX操作系统中最通用的全屏幕纯文本编辑器.Linux中的vi编辑器叫vim,它是vi的增强版(vi Improved), ...
- Linux入门学习笔记1:VI常用命令
常用命令 yy 复制 p 黏贴 shift+v 多行选中 shift+ctrl+< 左移 shift+ctrl+> 右移 ndd 删除光标所在行及其后n-1行 i 进入编辑状态 esc 退 ...
- linux之文本编辑器vi常用命令
由于经常在linux下面文本操作,所以这里稍微系统的总结一下自己常用的vi命令 1.打开命令: vi+filename (还有各种打开的姿势,只不过我比较顺手这个) 2.退出命令: :q 退出而 ...
随机推荐
- android打包方法超过65k错误
近日,Android Developers在Google+上宣布了新的Multidex支持库,为方法总数超过65K的Android应用提供了官方支持. 如果你是一名幸运的Android应用开发者,正在 ...
- 【一天一道LeetCode】#130. Surrounded Regions
一天一道LeetCode 本系列文章已全部上传至我的github,地址:ZeeCoder's Github 欢迎大家关注我的新浪微博,我的新浪微博 欢迎转载,转载请注明出处 (一)题目 Given a ...
- Linux多线程实践(2) --线程基本API
POSIX线程库 与线程有关的函数构成了一个完整的系列,绝大多数函数的名字都是以"pthread_"开头,要使用这些函数库,要通过引入头文<pthread.h>,而且链 ...
- MinerStoreThread.java 存储线程
MinerStoreThread.java 存储线程 package com.iteye.injavawetrust.miner; import java.util.HashMap; import j ...
- (NO.00001)iOS游戏SpeedBoy Lite成形记(十)
上篇最后遇到是神马问题呢? 原来由于现在seq动作的时间变得不确定了,jump的持续时间不能对应发生变化,导致可能选手在比赛后边就没有跳跃动作了!这虽不影响整个代码逻辑,却多少有些让玩家不爽. 一种解 ...
- Iterm2安装Zsh + Oh My Zsh+Solarized
安装Oh My Zsh curl -L https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh | sh 安装Zsh ...
- Leetcode_165_Compare Version Numbers
本文是在学习中的总结,欢迎转载但请注明出处:http://blog.csdn.net/pistolove/article/details/42342251 Compare two version nu ...
- (十七)TableView的本地性能优化
面试中常常会问TableView的性能优化. TableView只会加载能看到的Cell,每当有一个Cell进入视野范围内,就会调用. 存在着内存隐患,如果用户拖动的很快,所以内存会飙升的很快,因此要 ...
- mysql进阶(十一)外键在数据库中的作用
MySQL外键在数据库中的作用 MySQL外键的目的是控制存储在外键表中的数据,使两张表形成关联,是MySQL数据库中非常重要的组成部分,值得我们去深入了解.那么,MySQL外键究竟起到哪些作用呢?下 ...
- android重启代码
首先新建一个app然后添加 android:sharedUserId="android.uid.system" 再添加重启的权限 <uses-permission andro ...