Your Site Title

VIM RegExp

How to see which plugins are making Vim slow?

1. 
:profile start profile.log
:profile func *
:profile file *
" At this point do slow actions
:profile pause
:noautocmd qall!

2. 
vim --startuptime timeCost.txt timeCost.txt

3. 
hyiltiz/vim-plugins-profile

	%s/\(.*\)/@XmlElement\(name = \"\1\"\)\rprivate String \L\1\e;/g
	g/\(^[a-z]\+\)/d

Magic

有些字符是本身意义, 加上\又是另一种意义, VIM引入Magic模式, 不同模式下字符不同 意义

\v : very magic \m : magic \M : nomagic \V : very nomagic

after: \v \m \M \V matches ~ ‘magic’ ‘nomagic’ $ $ $ $ matches end-of-line . . . . matches any character * * * * any number of the previous atom ~ ~ ~ ~ latest substitute string () () () () grouping into an atom | | | | separating alternatives \a \a \a \a alphabetic character \ \ \ \ literal backslash . . . . literal dot { { { { literal ‘{‘ a a a a literal ‘a’

{only Vim supports \m, \M, \v and \V}

与一般正则的区别

Vim语法  |   一般语法    |  含义
\+       |   +           |  1-*
\?       |   ?           |  0-1
\{n, m}  |   {n, m}      |  n-m
\(\)     |   ()          |  分组

使用\1 引用第1个分组

clangd compile_commands.json

见Reference clangd

Mapper

If Control+V followed by ALT-x shows ^[x (type in terminal) you can fix it with this small script from vim.wikia.com:

-- Modes
--   normal_mode = "n",
--   insert_mode = "i",
--   visual_mode = "v",
--   visual_block_mode = "x",
--   term_mode = "t",
--   command_mode = "c",
-- Normal -- Increase & Decrease
-- keymap
--   ctrl    = <C->
--   command = <D->
--   alt     = <A->
--   shift   = <S->

:h <S-

Reference

Neovim LSP, DAP and Fuzzy Finder
theniceboy/nvim
ChrisAmelia/dotfiles
Iron-E
clangd
Power of g
Automatic dark mode for terminal applications