Jackson
  • 請先讀我
  • 目錄
  • LYNX INDOOR2
    • LYNX INDOOR 2
    • 歡迎
    • 讓我們開始吧
    • 01. 放置攝影機
    • 02. 攝影機供電
    • 03. 下載 TEND SECURE APP
    • 04. 啟動 TEND SECURE APP
    • 攝影機 LED 燈
    • 有限的兩年製造商的保修
  • Vim
    • 序
    • 安裝
    • 普通模式指令
      • 移動
      • 搜尋
      • {motion}
      • 視窗、標籤頁、緩衝區
      • 拼寫檢查器
      • 文件管理器
    • 可視模式
    • 插入模式指令
    • Ex命令模式指令
      • 自動補齊
      • [range] {address}
      • 視窗、標籤頁
      • 緩衝區
      • 暫存器
      • ex-flags
      • Quickfix
      • tags
      • 文件管理器
    • 終端模式
    • 搜尋模式指令
      • {pattern}
      • magic
    • 環境設定
      • 環境變數
      • 映射
      • try catch
      • autocmd
      • 編輯器高亮顏色
    • 設定 help 文件中文版
    • 交換文件
    • 比較檔案
      • 解決 git 衝突
    • 函數庫
    • 插件推薦
      • 代碼
        • vim-snippets
        • coc
          • coc-snippets
          • coc-phpls
          • coc-json
          • ccls
          • VimScript Language Server
          • coc-prettier
        • deoplete
        • ale
          • C
          • HTML
          • Javascript
        • tabnine
        • php-cs-fixer
        • NERD Comment
        • ctags
      • 外觀
        • Dracula
        • NERDTree
        • airline
        • css color
        • coc-explorer
        • purity
        • startify
        • vim-mundo
      • 插件管理器
        • vim-plug
        • 原生插件管理
        • Vundle
      • Git
        • vim-fugitive
        • gv.vim
      • 分析插件
      • surround
      • Auto Pairs
      • visual-star-search
      • vim-tmux-navigator
    • 什麼是 vimrc
      • 設定檔案配置
      • ftplugin
  • 終端
    • 序
    • bash 腳本
      • 基礎
      • 環境變數
      • 正規表示式
      • 參數
      • 常用內建指令
        • 輸出
        • 捕捉中斷
        • shell 選項
      • 條件判斷
      • 迴圈
      • 函式
      • Windows 上使用 bash
      • 更新 bash
    • 指令
      • bash
        • 程序
        • 使用者與群組
        • 分析網路,檢測並與網路介面卡進行互動
        • 查看檔案與目錄
        • 建立與修改檔案或目錄
        • 搜尋
        • 壓縮與打包
        • 備份
        • 重導向
        • 寄信
        • 操作終端機
        • 另外安裝的指令
          • jq JSON 剖析器
          • wget
      • zsh
        • alias
      • Linux
        • 排程
      • 目錄路徑
      • 萬用字元
    • tmux
      • 未進 tmux 的終端指令
      • 進入到 tmux 指令
      • 進入到 tmux 的快捷鍵
      • 命令提示指令
      • 配置 tmux
      • 插件推薦
        • 插件管理器
        • vim-tmux-navigator
    • 插件推薦
      • 外觀
        • Gogh
        • purity
        • Dracula
        • powerline
      • zsh
        • zsh-syntax-highlighting
        • zsh-autosuggestions
  • Git
    • 序
    • 常用指令
    • 切換帳號
  • 作業系統
    • kali
      • 快捷鍵
      • E: unable to locate package
      • 中文亂碼和中文輸入
      • 命令提示字元修改成 Windows 格式
    • mac os
      • 架站 MAMP
        • Apache
        • PHP
        • MySQL
        • phpMyAdmin
        • localhost https
    • Ubuntu
      • 安裝 PHP
      • 安裝 Nginx
  • AWS
    • 序
    • Amazon EC2
  • WordPress
    • localhost ftp 連線問題
    • 強制修改信箱帳號
    • bitnami 登入 Wordpress
  • 影片剪輯
    • 序
    • 自動生成字幕
  • 其它
    • 鍵盤符號中英文
Powered by GitBook
On this page
  • 快捷鍵
  • 幫助
  • 編輯命令
  • 編輯文件
  • 設定變數
  • 特殊符號
  • shell
  • :execute
  • 舉例
  • :global
  • :normal
  • :source
  • 參數列表
  • 舉例
  • 跳轉
  • 改變列表

Was this helpful?

  1. Vim

Ex命令模式指令

快捷鍵

<Ctrl-Left> 或 <Shift-Left> 向左移動一個單字

<Ctrl-Right> 或 <Shift-Right> 向右移動一個單字

<Ctrl-b> 移動到命令開頭

<Ctrl-d> 顯示可輸入的命令清單 當讀者輸入指令前幾個字元後 可以顯示有哪些指令可以輸入 例如: :ec<Ctrl-d> 可以看到其中有一個是 echo

<Ctrl-e> 移動到命令結尾

<Ctrl-f> 打開可編輯的命令列視窗 其中顯示的是之前執行過的命令的歷史紀錄 按 <Enter> 執行游標所在的那一行 按 <Ctrl-c> 回到命令列並寫入游標的內容 :help cmdline-editing 查看更多命令行編輯

<Ctrl-n> 或 <Down> 瀏覽下個命令的歷史紀錄

<Ctrl-p> 或 <Up> 瀏覽上個命令的歷史紀錄

<Ctrl-r><Ctrl-w> 插入游標下的單詞

幫助

:h[elp] 打開一個窗口並以只讀方式顯示幫助文件

:h[elp] {subject} 類似於 :help,但附加跳轉到 {subject} 標籤上

例如 :help :h 打開幫助文件查看幫助指令

編輯命令

| 分割命令,你可以在一行里輸入多個命令。 如果你想在參數里使用 | ,應該在前面加上 \ 注意:有些命令 | 被當作參數,後面不能接命令 詳情可以在 :h :bar 找到

編輯文件

:cd[!] {path} 切換當前目錄為 {path}

:[range]co[py] {address} 把 [range] 指定的行複製到 {address} 表示的行之下

:[range]d[elete] [x] 刪除 [range] 範圍的行 (缺省: 當前行) [到暫存器 x 裡]

:e[dit] [++opt] [+cmd] {file} 編輯文件 {file}

:[range]j[oin][!] [flags] 連接 [range] 範圍的行

:lc[d][!] {path} 和 :cd 類似,但只設置當前窗口的當前目錄 別的窗口的當前目錄保持不變

:[range]m[ove] {address} 把 [range] 指定的行移動到 {address} 表示的行之下

:pw[d] 顯示當前目錄

:[range]ret[ab][!] [new_tabstop] 把所有包含 <Tab> 的空白序列替代成由新的製表位 [new_tabstop] 確定的空白序列。如果你不指定新的製表位, 或者它為 0,Vim 使用原來的製表位 tabstop

:[range]sor[t][!] [b][f][i][n][o][r][u][x] [/{pattern}/] 給 [range] 裡的行排序。如果沒有指定行範圍,給所有行排序。

:t 和 :copy 等價

:[range]up[date][!] [++opt] [>>] [file] 和 :write 類似,但只有在緩衝區已修改的時候才寫

:wa[ll] 保存所有已修改的緩衝區。沒有文件名的緩衝區會報錯。 只讀的緩衝區不會被寫入。

:w[rite] [++opt] 將整個緩衝區寫入當前文件

:w fileName 寫入到 fileName 裡面 fileName 檔案名稱

:[range]y[ank] [x] 抽出 [range] 所指定的行到暫存器 [x]

:[range]> [flags] 將 [range] 指定的行右移 'shiftwidth' 列 多個 '>' 右移 多個 'shiftwidth' 列

設定變數

設定變數 i 等於 0 :let i = 0 設定變數 i 等於 i + 1 :let i += 1

特殊符號

當前文件名 %

shell

:!{cmd} 在 vim 執行 shell 命令

:[range]r[ead] [++opt] !{cmd} 執行 {cmd} 並把它的標準輸出插入到遊標下方

:shell 開啟 shell 互動式窗 exit 命令離開 shell 返回 vim

:execute

:exe[cute] {expr1} .. 計算 {expr1},返回的字串作為 Ex 命令執行。

舉例

:execute "normal w" 執行 normal 模式的 w 也就是移動到下一個單詞

:global

:[range]g[lobal]/{pattern}/[cmd] 在 [range] (缺省是 % 作用整個文件)界定的匹配模式 {pattern} 的文本行上執行 Ex 命令 [cmd] (缺省是 :p ) [cmd] 前面可以接受 [range]

:[range]g[lobal]!/{pattern}/[cmd] 在 [range] (缺省是 % 作用整個文件)界定的不匹配模式 {pattern} 的文本行上執行 Ex 命令 [cmd] (缺省是 :p )

:[range]v[global]/{pattern}/[cmd] 等同於 :g!

:normal

:{range}norm[al][!] {commands} 在 {range} 指定的範圍中的每行執行若干普通模式命令 {commands}

:source

:so[urce] {file} 從 {file} 裡讀取Ex命令,即“:”開頭的命令,並執行。 {file} 通常是 *.vim 檔

參數列表

:ar[gs] 顯示參數列表,當前文件以方括號表示

:ar[gs] [++opt] [+cmd] {arglist} 定義{arglist}為新的參數列表並編輯其中的第一個

:rew[ind] [++opt] [+cmd] 開始編輯參數列表的第一個文件

:first :rewind 的別名

:[count]n[ext] [++opt] [+cmd] 編輯向後第 [count] 個文件

:[range]argdo[!] {cmd} 對參數列表裡的每個文件執行 {cmd}

舉例

:args **/*.js 定義參數列表為資料夾底下的所有 js 檔

跳轉

:+N 向下移動 N 行

:-N 向上移動 N 行

:N 移動到第 N 行

:jumps 查看跳轉列表

改變列表

:changes 查看改變列表

Previous插入模式指令Next自動補齊

Last updated 4 years ago

Was this helpful?