91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Linux系統中的VIM如何使用

發布時間:2022-01-24 11:29:54 來源:億速云 閱讀:155 作者:柒染 欄目:開發技術

Linux系統中的VIM如何使用,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

VIM是一款強大的文本編輯器,可是說是VI的加強版,代碼補全、編譯及錯誤跳轉等功能特別豐富,被廣泛使用。

安裝

sudo apt-get install vim  // Ubuntu

其他平臺,可以自行谷歌。

新手指南

vimtutor  // vim 教程

上面是史上最簡單,最全面的Vim基礎教程,至今無人超越。

下面是作者基于上面的歸納:

移動光標
hjkl
2w 向前移動兩個單詞
3e 向前移動到第 3 個單詞的末尾
0 移動到行首
$ 當前行的末尾
gg 文件第一行
G 文件最后一行
行號+G 指定行+o 跳轉回之前的位置+i 返回跳轉之前的位置
退出
進入正常模式
:q! 不保存退出
:wq 保存后退出
刪除
x 刪除當前字符
dw 刪除至當前單詞末尾
de 刪除至當前單詞末尾,包括當前字符
d$ 刪除至當前行尾
dd 刪除整行
2dd 刪除兩行
修改
i 插入文本
A 當前行末尾添加
r 替換當前字符
o 打開新的一行并進入插入模式
撤銷
u 撤銷+r 取消撤銷
復制粘貼剪切
v 進入可視模式
y 復制
p 粘貼
yy 復制當前行
dd 剪切當前行
狀態
+g 顯示當前行以及文件信息
查找
/ 正向查找(n:繼續查找,N:相反方向繼續查找)
? 逆向查找
% 查找配對的 {,[,(
:set ic 忽略大小寫
:set noic 取消忽略大小寫
:set hls 匹配項高亮顯示
:set is 顯示部分匹配
替換
:s/old/new 替換該行第一個匹配串
:s/old/new/g 替換全行的匹配串
:%s/old/new/g 替換整個文件的匹配串
折疊
zc 折疊
zC 折疊所有嵌套
zo 展開折疊
zO 展開所有折疊嵌套
執行外部命令
:!shell 執行外部命令

.vimrc

.vimrc 是 Vim 的配置文件,需要我們自己創建:

cd Home               // 進入 Home 目錄
touch .vimrc          // 配置文件

# Unix
# vim-plug
# Vim
curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
    https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
# Neovim
curl -fLo ~/.local/share/nvim/site/autoload/plug.vim --create-dirs \
    https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim

其他平臺,可以查看 vim-plug。

基本配置

取消備份
set nobackup
set noswapfile
文件編碼
set encoding=utf-8
顯示行號
set number
取消換行
set nowrap
顯示光標當前位置
set ruler
設置縮進
set cindent
set tabstop=2
set shiftwidth=2
突出顯示當前行
set cursorline
查找
set ic
set hls
set is
左下角顯示當前 vim 模式
set showmode
代碼折疊
# 啟動 vim 時關閉折疊代碼
set nofoldenable
主題
syntax enable
set background=dark
colorscheme solarized
  • altercation/vim-colors-solarized

  • Anthony25/gnome-terminal-colors-solarized

插件配置

樹形目錄
Plug 'scrooloose/nerdtree'
Plug 'jistr/vim-nerdtree-tabs'
Plug 'Xuyuanp/nerdtree-git-plugin'

autocmd vimenter * NERDTree
map:NERDTreeTogglelet NERDTreeShowHidden=1
let g:NERDTreeShowIgnoredStatus = 1
let g:nerdtree_tabs_open_on_console_startup=1
let g:NERDTreeIndicatorMapCustom = {
    \ "Modified"  : "?",
    \ "Staged"    : "?",
    \ "Untracked" : "?",
    \ "Renamed"   : "?",
    \ "Unmerged"  : "═",
    \ "Deleted"   : "?",
    \ "Dirty"     : "?",
    \ "Clean"     : "??",
    \ 'Ignored'   : '?',
    \ "Unknown"   : "?"
    \ }

# o 打開關閉文件或目錄
# e 以文件管理的方式打開選中的目錄
# t 在標簽頁中打開
# T 在標簽頁中打開,但光標仍然留在 NERDTree
# r 刷新光標所在的目錄
# R 刷新當前根路徑
# X 收起所有目錄
# p 小寫,跳轉到光標所在的上一級路徑
# P 大寫,跳轉到當前根路徑
# J 到第一個節點
# K 到最后一個節點
# I 顯示隱藏文件
# m 顯示文件操作菜單
# C 將根路徑設置為光標所在的目錄
# u 設置上級目錄為根路徑
# ctrl + w + w 光標自動在左右側窗口切換
# ctrl + w + r 移動當前窗口的布局位置
# :tabc 關閉當前的 tab
# :tabo   關閉所有其他的 tab
# :tabp   前一個 tab
# :tabn   后一個 tab
# gT      前一個 tab
# gt      后一個 tab
  • scrooloose/nerdtree

  • vim-nerdtree-tabs

  • nerdtree-git-plugin

代碼,引號,路徑補全
Plug 'Valloric/YouCompleteMe'
Plug 'Raimondi/delimitMate'
Plug 'Shougo/deoplete.nvim', { 'do': ':UpdateRemotePlugins' }
  • Valloric/YouCompleteMe

  • Raimondi/delimitMate

  • Shougo/deoplete.nvim

語法高亮,檢查
Plug 'sheerun/vim-polyglot'
Plug 'w0rp/ale'

let g:ale_linters = {
\    'javascript': ['eslint'],
\    'css': ['stylelint'],
\}
let g:ale_fixers = {
\    'javascript': ['eslint'],
\    'css': ['stylelint'],
\}
let g:ale_fix_on_save = 1

let g:ale_sign_column_always = 1
let g:ale_sign_error = '●'
let g:ale_sign_warning = '?'

nmap(ale_previous_wrap)
nmap(ale_next_wrap)
  • w0rp/ale

  • sheerun/vim-polyglot

文件,代碼搜索
Plug 'rking/ag.vim'
Plug 'kien/ctrlp.vim'
  • kien/ctrlp.vim

  • ggreer/the_silver_searcher

  • rking/ag.vim

加強版狀態欄
Plug 'vim-airline/vim-airline'
Plug 'vim-airline/vim-airline-themes'
let g:airline_theme='papercolor'
  • vim-airline/vim-airline

  • vim-airline/vim-airline-themes

代碼注釋
Plug 'scrooloose/nerdcommenter'

#cc // 注釋
#cm 只用一組符號注釋
#cA 在行尾添加注釋
#c$ /* 注釋 */
#cs /* 塊注釋 */
#cy 注釋并復制
#c注釋/取消注釋
#ca 切換 // 和 /* */
#cu 取消注釋

let g:NERDSpaceDelims = 1
let g:NERDDefaultAlign = 'left'
let g:NERDCustomDelimiters = {
            \ 'javascript': { 'left': '//', 'leftAlt': '/**', 'rightAlt': '*/' },
            \ 'less': { 'left': '/**', 'right': '*/' }
        \ }
  • scrooloose/nerdcommenter

git
Plug 'airblade/vim-gitgutter'
Plug 'tpope/vim-fugitive'
  • airblade/vim-gitgutter

  • tpope/vim-fugitive

Markdown
Plug 'suan/vim-instant-markdown'

let g:instant_markdown_slow = 1
let g:instant_markdown_autostart = 0
# :InstantMarkdownPreview
  • suan/vim-instant-markdown

Emmet
Plug 'mattn/emmet-vim'

let g:user_emmet_leader_key=''
let g:user_emmet_settings = {
         \ 'javascript.jsx' : {
            \ 'extends' : 'jsx',
         \ },
      \ }
  • mattn/emmet-vim

html 5
Plug'othree/html5.vim'
  • othree/html5.vim

css 3

Linux系統中的VIM如何使用

Plug 'hail2u/vim-css3-syntax'
Plug 'ap/vim-css-color'

augroup VimCSS3Syntax
  autocmd!

  autocmd FileType css setlocal iskeyword+=-
augroup END
  • hail2u/vim-css3-syntax

  • ap/vim-css-color

JavaScipt
  1. Plug 'pangloss/vim-javascript'


  2. let g:javascript_plugin_jsdoc = 1

  3. let g:javascript_plugin_ngdoc = 1

  4. let g:javascript_plugin_flow = 1

  5. set foldmethod=syntax

  6. let g:javascript_conceal_function             = "ƒ"

  7. let g:javascript_conceal_null                 = "ø"

  8. let g:javascript_conceal_this                 = "@"

  9. let g:javascript_conceal_return               = "?"

  10. let g:javascript_conceal_undefined            = "¿"

  11. let g:javascript_conceal_NaN                  = "?"

  12. let g:javascript_conceal_prototype            = "¶"

  13. let g:javascript_conceal_static               = "•"

  14. let g:javascript_conceal_super                = "Ω"

  15. let g:javascript_conceal_arrow_function       = "⇒"

  16. let g:javascript_conceal_noarg_arrow_function = " "

  17. let g:javascript_conceal_underscore_arrow_function = " "

  18. set conceallevel=1

  • pangloss/vim-javascript

(注:上述腳本中存在特殊字符,有的情況下顯示不正確,請直接用上述鏈接的內容。)

React
  1. Plug 'mxw/vim-jsx'


  2. let g:jsx_ext_required = 0

  • mxw/vim-jsx

Prettier
  1. Plug 'prettier/vim-prettier', {

  2.  \ 'do': 'yarn install',

  3.  \ 'for': ['javascript', 'typescript', 'css', 'less', 'scss', 'json', 'graphql'] }


  4. let g:prettier#config#bracket_spacing = 'true'

  5. let g:prettier#config#jsx_bracket_same_line = 'false'

  6. let g:prettier#autoformat = 0

  7. autocmd BufWritePre *.js,*.jsx,*.mjs,*.ts,*.tsx,*.css,*.less,*.scss,*.json,*.graphql PrettierAsync


  8. # :Prettier

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

桑植县| 巴南区| 海口市| 蒲江县| 比如县| 冷水江市| 尖扎县| 达孜县| 洞头县| 虎林市| 兴义市| 清徐县| 绿春县| 洛川县| 富川| 明光市| 乐陵市| 通江县| 水城县| 伊吾县| 千阳县| 遂宁市| 泾川县| 久治县| 蒙山县| 郯城县| 阿鲁科尔沁旗| 河南省| 浮山县| 南涧| 珠海市| 平遥县| 甘孜县| 百色市| 威宁| 荆门市| 固原市| 桦川县| 兴宁市| 巴林左旗| 从江县|