상고 신기 vim

28515 단어 shell
Vim  상고 시대 의 신기 로, 이 문장 은 주로  持续总结  쓰다  Vim  어 쩔 수 없 이 알 아야 할 것들  指令  화해시키다  .그리고  注意事项  한 개  持续分享  어 쩔 수 없 이 설치 해 야 할 것들.  前端工作者  插件  소개 의 선택 등 내용 에 관심 이 있 는 학생 이 내 려 와 서 스스로 이해 하고 비교 할 수 있 으 면 여기 서 군말 하지 않 는 다
설치 하 다.
sudo apt-get install vim // Ubuntu

다른 플랫폼, 자체 구 글 가능
초보 자 가이드
vimtutor // vim 教程

위 는 역사상 가장 간단 하고 전면적 인 것 이다.  Vim  기초 과정 은 지금까지 뛰 어 넘 는 사람 이 없다.
다음은 작가 가 위의 귀납 에 기초 한 것 이다.插件
# hjkl
# 2w 向前移动两个单词
# 3e 向前移动到第 3 个单词的末尾
# 0 移动到行首
# $ 当前行的末尾
# gg 文件第一行
# G 文件最后一行
# 行号+G 指定行
# +o 跳转回之前的位置
# +i 返回跳转之前的位置
Vim
#  进入正常模式
# :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 折叠  예.  执行外部命令  프로필
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
기본 설정.vimrc
set nobackup
set noswapfile
Vim
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
突出显示当前行
set showmode
查找
# 启动 vim 时关闭折叠代码
set nofoldenable
左下角显示当前 vim 模式
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  :NERDTreeToggle
    let 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'
    
    let g:ag_highlight=1
    let g:ag_working_path_mode="r"
    
    # :Ag! content
    
    set wildignore+=*.zip,*.exe
    
    let g:ctrlp_map = ''
    let g:ctrlp_custom_ignore = {
      \ 'dir':  '\v[\/](node_modules|DS_Store|dist|build|coverage)|(\.(git|hg|svn)$)',
      \ 'file': '\v\.(exe|so|dll)$',
      \ }
    
    # : 切换匹配模式
    #  or , :在新的 tab 中打开
  • 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
  • 加强版状态栏
    Plug 'airblade/vim-gitgutter'
    Plug 'tpope/vim-fugitive'
  • airblade/vim-gitgutter
  • tpope/vim-fugitive
  • 代码注释
    Plug 'suan/vim-instant-markdown'
    
    let g:instant_markdown_slow = 1
    let g:instant_markdown_autostart = 0
    # :InstantMarkdownPreview
  • suan/vim-instant-markdown
  • git
    Plug 'mattn/emmet-vim'
    
    let g:user_emmet_leader_key=''
    let g:user_emmet_settings = {
             \ 'javascript.jsx' : {
                \ 'extends' : 'jsx',
            \ },
             \ }
  • mattn/emmet-vim
  • Markdown
    Plug 'othree/html5.vim'
  • othree/html5.vim
  • Emmet
    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
  • html 5
    Plug 'pangloss/vim-javascript'
    
    let g:javascript_plugin_jsdoc = 1
    let g:javascript_plugin_ngdoc = 1
    let g:javascript_plugin_flow = 1
    set foldmethod=syntax
    let g:javascript_conceal_function             = "ƒ"
    let g:javascript_conceal_null                 = "ø"
    let g:javascript_conceal_this                 = "@"
    let g:javascript_conceal_return               = "⇚"
    let g:javascript_conceal_undefined            = "¿"
    let g:javascript_conceal_NaN                  = "ℕ"
    let g:javascript_conceal_prototype            = "¶"
    let g:javascript_conceal_static               = "•"
    let g:javascript_conceal_super                = "Ω"
    let g:javascript_conceal_arrow_function       = "⇒"
    let g:javascript_conceal_noarg_arrow_function = "

    좋은 웹페이지 즐겨찾기