008 vim超基礎入門
- 1. vim超基礎入門
Bruce @ CloudOnline
2012/12/14
12年12月14日星期五
- 3. 目標程度與對象
只有偶爾ssh到遠端server改東西時才會用
12年12月14日星期五
- 4. 目標程度與對象
只有偶爾ssh到遠端server改東西時才會用
把vim當陽春notepad來用的程度
12年12月14日星期五
- 5. 目標程度與對象
只有偶爾ssh到遠端server改東西時才會用
把vim當陽春notepad來用的程度
目標對象:
1. vim完全新手、linux新手
2. 只是想稍微用順手一點、不會到太進階的人
12年12月14日星期五
- 6. 目標程度與對象
只有偶爾ssh到遠端server改東西時才會用
把vim當陽春notepad來用的程度
目標對象:
1. vim完全新手、linux新手
2. 只是想稍微用順手一點、不會到太進階的人
更高級的技巧就請自行研究了,附錄有連結
12年12月14日星期五
- 8. 超級新手會有的問題
打開vim了,怎麼不能輸入文字?
可以打字了,要怎麼存檔離開?
怎麼搜尋
耐心看完這份教學,就能學會基礎vim技巧了
12年12月14日星期五
- 9. 分成三篇
土法煉鋼
快速移動
加強技巧
12年12月14日星期五
- 10. 土法煉鋼篇
很土,但是你可以編輯、存檔文件了,編輯config檔沒問題
12年12月14日星期五
- 11. 3種常用mode
用來下d、dd、^、$等指令
normal mode
12年12月14日星期五
- 12. 3種常用mode
用來下d、dd、^、$等指令
normal mode
i、a、c等插入指令
insert mode
在文件內打字
12年12月14日星期五
- 13. 3種常用mode
用來下d、dd、^、$等指令
normal mode
i、a、c等插入指令
esc
insert mode
在文件內打字
12年12月14日星期五
- 14. 3種常用mode
用來下d、dd、^、$等指令
normal mode
( 別懷疑,就是按下shift+;
打一個半型冒號 ) : i、a、c等插入指令
esc
command line
insert mode
mode
用來下wq、q!等指令 在文件內打字
存檔就要靠這個mode
12年12月14日星期五
- 15. 3種常用mode
用來下d、dd、^、$等指令
normal mode
( 別懷疑,就是按下shift+;
打一個半型冒號 ) : i、a、c等插入指令
esc esc
command line
insert mode
mode
用來下wq、q!等指令 在文件內打字
存檔就要靠這個mode
12年12月14日星期五
- 16. 如何在文件內打字
就算一直按2也不會鳥你
按下i或a後
其實還有很多按鍵會進入insert mode,但這裡就不詳述了
(關於模式間的切換 可以回頭看看第四張投影片)
12年12月14日星期五
- 17. a跟i的差別
記憶法:i=insert
a=append
12年12月14日星期五
- 18. a跟i的差別
h e l l o w o r l d
記憶法:i=insert
a=append
12年12月14日星期五
- 19. a跟i的差別
← 按下i後
h e l l o w o r l d
記憶法:i=insert
a=append
12年12月14日星期五
- 20. a跟i的差別
← 按下i後
h e l l o w o r l d
h e l l o w o r l d
記憶法:i=insert
a=append
12年12月14日星期五
- 21. a跟i的差別
← 按下i後
h e l l o w o r l d
按下a後 →
h e l l o w o r l d
記憶法:i=insert
a=append
12年12月14日星期五
- 24. 加Shift = 跳到行首/尾插入
← 按下I後
h e l l o w o r l d
按下A後 →
h e l l o w o r l d
12年12月14日星期五
- 25. 如何存檔跟離開
(關於模式間的切換 可以回頭看看第四張投影片)
12年12月14日星期五
- 26. 如何存檔跟離開
(在normal mode下)
打一個冒號,進入
command line mode
(關於模式間的切換 可以回頭看看第四張投影片)
12年12月14日星期五
- 27. 如何存檔跟離開
enter↵
輸入指令
(在normal mode下) 存檔或離開的指令
打一個冒號,進入 下一頁有說明
command line mode
(關於模式間的切換 可以回頭看看第四張投影片)
12年12月14日星期五
- 28. 如何存檔跟離開
常用的組合
按鍵 功能
w 只存檔 不離開
q 離開 (如果有變更,會無法離開)
wq 存檔並離開
q! 不存檔 強制離開
(關於模式間的切換 可以回頭看看第四張投影片)
12年12月14日星期五
- 32. 快速移動篇
一格一格游標移動太麻煩了,快速跳到指定的地方
12年12月14日星期五
- 34. 搜尋
(在normal mode下)
打一個斜線/
12年12月14日星期五
- 35. 搜尋
enter↵
輸入關鍵字
(在normal mode下) 搜尋下一個符合的方法
打一個斜線/ 在下一頁有說明
12年12月14日星期五
- 36. 搜尋
enter↵
輸入關鍵字
(在normal mode下) 搜尋下一個符合的方法
打一個斜線/ 在下一頁有說明
(想像/是Windows的
notepad的Ctrl+F)
12年12月14日星期五
- 37. 搜尋
enter↵
輸入關鍵字
(在normal mode下) 搜尋下一個符合的方法
打一個斜線/ 在下一頁有說明
(想像/是Windows的 (叫出搜尋框了,填入
notepad的Ctrl+F) 關鍵字按enter)
12年12月14日星期五
- 38. 搜尋
n
尋找下一個符合
記憶法:n=next
12年12月14日星期五
- 39. 搜尋
n
尋找下一個符合
記憶法:n=next
12年12月14日星期五
- 40. 搜尋
n
尋找下一個符合
記憶法:n=next
N
尋找上一個符合
記憶法:shift + n
12年12月14日星期五
- 41. 跳到行首/行尾
def hello(name)
puts "hello world #{name}"
end
記憶法:^跟$類似Regular Expression的用法
12年12月14日星期五
- 42. 跳到行首/行尾
軟性行首
^
def hello(name)
puts "hello world #{name}"
end
記憶法:^跟$類似Regular Expression的用法
12年12月14日星期五
- 43. 跳到行首/行尾
軟性行首 行尾
^ $
def hello(name)
puts "hello world #{name}"
end
記憶法:^跟$類似Regular Expression的用法
12年12月14日星期五
- 44. 跳到行首/行尾
軟性行首 行尾
^ $
def hello(name)
puts "hello world #{name}"
end
記憶法:第0個字元
12年12月14日星期五
- 45. 跳到行首/行尾
軟性行首 行尾
^ $
def hello(name)
puts "hello world #{name}"
end
硬性行首
(數字0) 0 記憶法:第0個字元
12年12月14日星期五
- 46. 跳到畫面的上/中/下
line 1
line 2
line 3
line 4........
line 5
line 6
line 7
line 8
line 9
12年12月14日星期五
- 47. 跳到畫面的上/中/下
line 1
line 2
H line 3
line 4........
line 5
M
line 6
line 7
L line 8
line 9
記憶法:High, Middle, Low
12年12月14日星期五
- 49. 跳到第一行/最後一行
(在normal mode下)
打一個冒號,進入
command line mode
記憶法:0跟$分別是跳到行首跟行尾的鍵
12年12月14日星期五
- 50. 跳到第一行/最後一行
enter↵
輸入0
(在normal mode下) 輸入$則會跳到最後
打一個冒號,進入 一行
command line mode
記憶法:0跟$分別是跳到行首跟行尾的鍵
12年12月14日星期五
- 51. 跳到第一行/最後一行
line 1
line 2
line 3
line 4........
line 5
line 6
line 7
line 8
line 9
12年12月14日星期五
- 52. 跳到第一行/最後一行
:0↩ line 1
line 2
line 3
line 4........
line 5
line 6
line 7
line 8
:$↩ line 9
12年12月14日星期五
- 53. 跳到第N行
line 1
line 2
line 3
line 4........
line 5
line 6
line 7
line 8
line 9
12年12月14日星期五
- 54. 跳到第N行
line 1
line 2
line 3
line 4........
line 5
line 6
:n↩ line 7
line 8
line 9
操作方式同前
n就是你要跳去的行數
12年12月14日星期五
- 55. 開檔案時直接跳到某行
如果開檔案的時候就預想到要跳到最後一行,或
跳到第N行,可以這樣開檔:
12年12月14日星期五
- 56. 開檔案時直接跳到某行
如果開檔案的時候就預想到要跳到最後一行,或
跳到第N行,可以這樣開檔:
$ vim filename #平常是這樣開檔
$ vim + filename #一打開就在最後一行
$ vim +276 filename #一打開就在276行
12年12月14日星期五
- 57. 加強技巧篇
稍微再加強一點點的程度
12年12月14日星期五
- 58. 加強技巧篇
其實以上的進度對輕度使用者來說可以用了
加強技巧篇還會有一些寫code或設定檔會用到
的方便功能
但想要到把vim當主要程式編輯器的程度,這篇
教學是辦不到的
12年12月14日星期五
- 59. 刪除一行
def hello(name)
puts "hello world #{name}"
end
12年12月14日星期五
- 60. 刪除一行
d x2
def hello(name)
puts "hello world #{name}"
end
12年12月14日星期五
- 61. 刪除一行
d x2
def hello(name)
end
12年12月14日星期五
- 62. 刪除到行尾
def hello(name)
@name=“Hello #{name}”
end
12年12月14日星期五
- 63. 刪除到行尾
D
def hello(name)
@name=“Hello #{name}”
end
12年12月14日星期五
- 64. 刪除到行尾
D
def hello(name)
@name=
end
12年12月14日星期五
- 65. 縮排
記憶法:>>的形狀
註:縮排預設是tab字元
12年12月14日星期五
- 66. 縮排
> x2
記憶法:>>的形狀
註:縮排預設是tab字元
12年12月14日星期五
- 67. 自動補齊可能關鍵字
(在insert mode下)
在想自動完成的關鍵
字後面
記憶法:Next/Previous Match
12年12月14日星期五
- 68. 自動補齊可能關鍵字
Ctrl+N
(在insert mode下) 或Ctrl+P 再按一次
在想自動完成的關鍵 他會找下個Match
字後面
記憶法:Next/Previous Match
12年12月14日星期五
- 69. 多行註解
在command mode
12年12月14日星期五
- 70. 多行註解
按下Ctrl+V
在command mode
並要註解的行反白起來
12年12月14日星期五
- 71. 多行註解
按下Ctrl+V
並要註解的行反白起來
12年12月14日星期五
- 72. 多行註解
按下Ctrl+V 按大寫I進入i-mode
並要註解的行反白起來 然後輸入註解符號
12年12月14日星期五
- 73. 多行註解
按大寫I進入i-mode
然後輸入註解符號
12年12月14日星期五
- 74. 多行註解
按大寫I進入i-mode 按esc,並等待1秒
然後輸入註解符號 就會全部套用了
12年12月14日星期五
- 75. 刪除多行
道理同註解多行
到在這個步驟的時候,按
12年12月14日星期五
- 76. 刪除多行
道理同註解多行
到在這個步驟的時候,按 d x2
12年12月14日星期五
- 77. 簡單教學到此
進階內容請另外練功
12年12月14日星期五
- 78. 進階學習資源
給程式設計師的Vim入門圖解說明
blog.vgod.tw/2009/12/08/vim-cheat-sheet-for-
programmers/
大家來學VIM
www.study-area.org/tips/vim/index.html
12年12月14日星期五
- 79. 廣告時間
歡迎follow我的SlideShare
www.slideshare.net/BruceLi2/
我的部落格 (技術+私人+拉哩拉雜的東西)
littlebmix.blogspot.tw/
我開發的小玩具:博客來優化電子報
bruce.non.tw/books66
12年12月14日星期五