mirror of
https://github.com/mhinz/vim-galore.git
synced 2025-02-24 01:59:28 +08:00
Grammar
This commit is contained in:
parent
7d2cf3a3b5
commit
b8542f28a8
89
README.md
89
README.md
@ -161,7 +161,7 @@ _language of Vim_ as well as pianists handle their instruments. Complex
|
|||||||
operations are done using only a few key presses. They don't even think about it
|
operations are done using only a few key presses. They don't even think about it
|
||||||
anymore as [muscle memory](https://en.wikipedia.org/wiki/Muscle_memory) took
|
anymore as [muscle memory](https://en.wikipedia.org/wiki/Muscle_memory) took
|
||||||
over already. This reduces [cognitive
|
over already. This reduces [cognitive
|
||||||
load](https://en.wikipedia.org/wiki/Cognitive_load) and helps focusing on the
|
load](https://en.wikipedia.org/wiki/Cognitive_load) and helps to focus on the
|
||||||
actual task.
|
actual task.
|
||||||
|
|
||||||
#### First steps
|
#### First steps
|
||||||
@ -230,7 +230,7 @@ how the currently running Vim binary was compiled.
|
|||||||
|
|
||||||
The first line tells you when the binary was compiled and the version, e.g. 7.4.
|
The first line tells you when the binary was compiled and the version, e.g. 7.4.
|
||||||
One of the next lines states `Included patches: 1-1051`, which is the patch
|
One of the next lines states `Included patches: 1-1051`, which is the patch
|
||||||
level. Thus your exact Vim version is 7.4.1051.
|
level. Thus, your exact Vim version is 7.4.1051.
|
||||||
|
|
||||||
Another line states something like `Tiny version without GUI` or `Huge version
|
Another line states something like `Tiny version without GUI` or `Huge version
|
||||||
with GUI`. The obvious information from that is whether your Vim includes GUI
|
with GUI`. The obvious information from that is whether your Vim includes GUI
|
||||||
@ -298,7 +298,7 @@ And please, please don't call them _splits_. You can split a window in two, but
|
|||||||
that doesn't make them _splits_.
|
that doesn't make them _splits_.
|
||||||
|
|
||||||
Windows can be split vertically or horizontally and the heights and widths of
|
Windows can be split vertically or horizontally and the heights and widths of
|
||||||
existing windows can be altered, too. Therefore you can use whatever window
|
existing windows can be altered, too. Therefore, you can use whatever window
|
||||||
layout you prefer.
|
layout you prefer.
|
||||||
|
|
||||||
A **tab page** (or just tab) is a collection of windows. Thus, if you want to
|
A **tab page** (or just tab) is a collection of windows. Thus, if you want to
|
||||||
@ -348,7 +348,7 @@ If you should prefer using the buffer or argument list for working with files is
|
|||||||
a matter of taste. My impression is that most people use the buffer list
|
a matter of taste. My impression is that most people use the buffer list
|
||||||
exclusively.
|
exclusively.
|
||||||
|
|
||||||
Nevertheless there is one huge use case for the argument list: batch processing
|
Nevertheless, there is one huge use case for the argument list: batch processing
|
||||||
via `:argdo`! A simple refactoring example:
|
via `:argdo`! A simple refactoring example:
|
||||||
|
|
||||||
```vim
|
```vim
|
||||||
@ -509,8 +509,8 @@ the current line with `p` and before the cursor with `P`.
|
|||||||
`"aY` yanks the current line into register `a`. Move to another line. `"AY`
|
`"aY` yanks the current line into register `a`. Move to another line. `"AY`
|
||||||
appends the current line to register `a`.
|
appends the current line to register `a`.
|
||||||
|
|
||||||
I suggest playing around with with all these registers a bit and constantly
|
I suggest playing around with all these registers a bit and constantly checking
|
||||||
checking `:reg`, so you can see what's actually happening.
|
`:reg`, so you can see what's actually happening.
|
||||||
|
|
||||||
**Fun fact**: In Emacs "yanking" stands for pasting (or _reinserting previously
|
**Fun fact**: In Emacs "yanking" stands for pasting (or _reinserting previously
|
||||||
killed text_) not copying.
|
killed text_) not copying.
|
||||||
@ -612,7 +612,7 @@ Other motions include:
|
|||||||
| `']`, `` `] `` | Last line or character of previously changed or yanked text. |
|
| `']`, `` `] `` | Last line or character of previously changed or yanked text. |
|
||||||
| `'<`, `` `< `` | Beginning line or character of last visual selection. |
|
| `'<`, `` `< `` | Beginning line or character of last visual selection. |
|
||||||
| `'>`, `` `> `` | Ending line or character of last visual selection. |
|
| `'>`, `` `> `` | Ending line or character of last visual selection. |
|
||||||
| `''`, ``` `` ``` | Position before latest jump. |
|
| `''`, ``` `` ``` | Position before the latest jump. |
|
||||||
| `'"`, `` `" `` | Position when last exiting the current buffer. |
|
| `'"`, `` `" `` | Position when last exiting the current buffer. |
|
||||||
| `'^`, `` `^ `` | Position where last insertion stopped. |
|
| `'^`, `` `^ `` | Position where last insertion stopped. |
|
||||||
| `'.`, `` `. `` | Position where last change was made. |
|
| `'.`, `` `. `` | Position where last change was made. |
|
||||||
@ -630,9 +630,8 @@ Use `:marks` to list all marks. Read everything in `:h mark-motions`.
|
|||||||
|
|
||||||
#### Completion?
|
#### Completion?
|
||||||
|
|
||||||
Vim provides many different kinds of insert mode completions. If there are
|
Vim provides many kinds of insert mode completions. If there are multiple
|
||||||
multiple matches, a popup menu will let you navigate to the match of your
|
matches, a popup menu will let you navigate to the match of your choice.
|
||||||
choice.
|
|
||||||
|
|
||||||
Typical kinds of completion are tags, functions from imported modules or
|
Typical kinds of completion are tags, functions from imported modules or
|
||||||
libraries, file names, dictionary or simply words from the current buffer.
|
libraries, file names, dictionary or simply words from the current buffer.
|
||||||
@ -847,7 +846,7 @@ will revert the text state even further, to the one of node "foo". Now `<c-r>`
|
|||||||
goes back to the state of node "bar" and another `<c-r>` to the state of node
|
goes back to the state of node "bar" and another `<c-r>` to the state of node
|
||||||
"quux". (There's no way to reach node "baz" using branch-wise commands anymore.)
|
"quux". (There's no way to reach node "baz" using branch-wise commands anymore.)
|
||||||
|
|
||||||
Opposed to this, `g-` and `g+` work time-wise. Thus `g-` won't revert to the
|
Opposed to this, `g-` and `g+` work time-wise. Thus, `g-` won't revert to the
|
||||||
state of node "bar", like `u` does, but to the chronologically previous state,
|
state of node "bar", like `u` does, but to the chronologically previous state,
|
||||||
node "baz". Another `g-` would revert the state to the one of node "bar" and so
|
node "baz". Another `g-` would revert the state to the one of node "bar" and so
|
||||||
on. Thus, `g-` and `g+` simply go back and forth in time, respectively.
|
on. Thus, `g-` and `g+` simply go back and forth in time, respectively.
|
||||||
@ -856,9 +855,9 @@ on. Thus, `g-` and `g+` simply go back and forth in time, respectively.
|
|||||||
|-------------------|--------|
|
|-------------------|--------|
|
||||||
| `[count]u`, `:undo [count]` | Undo [count] changes. |
|
| `[count]u`, `:undo [count]` | Undo [count] changes. |
|
||||||
| `[count]<c-r>`, `:redo` | Redo [count] changes. |
|
| `[count]<c-r>`, `:redo` | Redo [count] changes. |
|
||||||
| `U` | Undo all all changes to the line of the latest change. |
|
| `U` | Undo all changes to the line of the latest change. |
|
||||||
| `[count]g-`, `:earlier [count]?` | Go to older text state [count] times. The "?" can be either "s", "m", "h", "d", or "f". E.g. `:earlier 2d` goes to the text state from 2 days ago. `:earlier 1f` will go to the state of the latest file save. |
|
| `[count]g-`, `:earlier [count]?` | Go to older text state [count] times. The "?" can be either "s", "m", "h", "d", or "f". E.g. `:earlier 2d` goes to the text state from 2 days ago. `:earlier 1f` will go to the state of the latest file save. |
|
||||||
| `[count]g+`, `:later [count]?` | Same as as above, but other direction. |
|
| `[count]g+`, `:later [count]?` | Same as above, but other direction. |
|
||||||
|
|
||||||
The undo tree is kept in memory and will be lost when Vim quits. See [Handling
|
The undo tree is kept in memory and will be lost when Vim quits. See [Handling
|
||||||
backup, swap, undo, and viminfo
|
backup, swap, undo, and viminfo
|
||||||
@ -888,7 +887,7 @@ external grep tool assembled in a location list.
|
|||||||
The big advantage over just putting that stuff in an empty buffer is that you
|
The big advantage over just putting that stuff in an empty buffer is that you
|
||||||
get a nice uniform interface for browsing the entries.
|
get a nice uniform interface for browsing the entries.
|
||||||
|
|
||||||
At all time there's only one quickfix list, but every window can has its own
|
At all time there's only one quickfix list, but every window can have its own
|
||||||
location list. Both type of lists _feel_ the same, but use slightly different
|
location list. Both type of lists _feel_ the same, but use slightly different
|
||||||
commands for navigation.
|
commands for navigation.
|
||||||
|
|
||||||
@ -1151,9 +1150,9 @@ It's reposted here with minor changes.
|
|||||||
---
|
---
|
||||||
|
|
||||||
If you know what you are looking for, it is usually easier to search for it
|
If you know what you are looking for, it is usually easier to search for it
|
||||||
using the help system. Because the subjects follow a certain style guide.
|
using the help system, because the subjects follow a certain style guide.
|
||||||
|
|
||||||
Also the help has the advantage of belonging to your particular Vim version, so
|
Also, the help has the advantage of belonging to your particular Vim version, so
|
||||||
that obsolete topics or topics that have been added later won't turn up.
|
that obsolete topics or topics that have been added later won't turn up.
|
||||||
|
|
||||||
Therefore, it is essential to learn the help system and the language it uses.
|
Therefore, it is essential to learn the help system and the language it uses.
|
||||||
@ -1179,7 +1178,7 @@ something).
|
|||||||
CTRL-X commands for insert mode which can be used to auto complete different
|
CTRL-X commands for insert mode which can be used to auto complete different
|
||||||
things. Note that certain keys will always be written the same, e.g. Control
|
things. Note that certain keys will always be written the same, e.g. Control
|
||||||
will always be CTRL. Note, for normal mode commands, the "n" is left away,
|
will always be CTRL. Note, for normal mode commands, the "n" is left away,
|
||||||
e.g. `:h CTRL-A`. In contrast `:h c_CTRL-R` will describe what CTRL-R does
|
e.g. `:h CTRL-A`. In contrast, `:h c_CTRL-R` will describe what CTRL-R does
|
||||||
when entering commands in the command line and `:h v_Ctrl-A` talks about
|
when entering commands in the command line and `:h v_Ctrl-A` talks about
|
||||||
incrementing numbers in visual mode and `:h g_CTRL-A` talks about the g<C-A>
|
incrementing numbers in visual mode and `:h g_CTRL-A` talks about the g<C-A>
|
||||||
command (thus you have to press "g" then <Ctrl-A>). Here the "g" stand for
|
command (thus you have to press "g" then <Ctrl-A>). Here the "g" stand for
|
||||||
@ -1223,7 +1222,7 @@ something).
|
|||||||
|
|
||||||
14. The user manual. This describes help topics for beginners in a rather
|
14. The user manual. This describes help topics for beginners in a rather
|
||||||
friendly way. Start at `:h usr_toc.txt` to find the table of content (as you
|
friendly way. Start at `:h usr_toc.txt` to find the table of content (as you
|
||||||
might have guessed). Skimming over that help finding certain topics, .e.g
|
might have guessed). Skimming over that help to find certain topics, .e.g
|
||||||
you will find an entry "Digraphs" and "Entering special characters" in
|
you will find an entry "Digraphs" and "Entering special characters" in
|
||||||
chapter 24 (so use `:h usr_24.txt` to go to that particular help page).
|
chapter 24 (so use `:h usr_24.txt` to go to that particular help page).
|
||||||
|
|
||||||
@ -1236,7 +1235,7 @@ something).
|
|||||||
17. Quickfix commands usually start with ":c", while location list commands
|
17. Quickfix commands usually start with ":c", while location list commands
|
||||||
usually start with ":l".
|
usually start with ":l".
|
||||||
|
|
||||||
18. `:h BufWinLeave` talks about the BufWinLeave autocmd. Also `:h
|
18. `:h BufWinLeave` talks about the BufWinLeave autocmd. Also, `:h
|
||||||
autocommands-events` talks about all possible events.
|
autocommands-events` talks about all possible events.
|
||||||
|
|
||||||
19. Startup arguments always start with "-", so `:h -f` takes you to the help of
|
19. Startup arguments always start with "-", so `:h -f` takes you to the help of
|
||||||
@ -1256,7 +1255,7 @@ something).
|
|||||||
options it provides. Sometimes, additional sections for omni completion (`:h
|
options it provides. Sometimes, additional sections for omni completion (`:h
|
||||||
ft-php-omni`) or filetype plugins (`:h ft-tex-plugin`) are available.
|
ft-php-omni`) or filetype plugins (`:h ft-tex-plugin`) are available.
|
||||||
|
|
||||||
Also a link to the user documentation (which describes certain commands more
|
Also, a link to the user documentation (which describes certain commands more
|
||||||
from a user perspective and less detailed) will be mentioned at the top of help
|
from a user perspective and less detailed) will be mentioned at the top of help
|
||||||
pages if they are available. So `:h pattern.txt` mentions the user guide topics
|
pages if they are available. So `:h pattern.txt` mentions the user guide topics
|
||||||
`:h 03.9` and `:h usr_27`.
|
`:h 03.9` and `:h usr_27`.
|
||||||
@ -1348,7 +1347,7 @@ happens to be at major version 11 since 1987, hence X is also often called X11.
|
|||||||
Prior, in X10, [cut
|
Prior, in X10, [cut
|
||||||
buffers](http://www.x.org/releases/X11R7.7/doc/xorg-docs/icccm/icccm.html#Peer_to_Peer_Communication_by_Means_of_Cut_Buffers)
|
buffers](http://www.x.org/releases/X11R7.7/doc/xorg-docs/icccm/icccm.html#Peer_to_Peer_Communication_by_Means_of_Cut_Buffers)
|
||||||
were introduced that kind of worked like a _clipboard_ as in copied text was
|
were introduced that kind of worked like a _clipboard_ as in copied text was
|
||||||
actually hold by X and it was accessible by all ofter applications. This
|
actually held by X and it was accessible by all ofter applications. This
|
||||||
mechanism still exists in X, but its use is deprecated now and most software
|
mechanism still exists in X, but its use is deprecated now and most software
|
||||||
doesn't use it anymore.
|
doesn't use it anymore.
|
||||||
|
|
||||||
@ -1375,7 +1374,7 @@ Program B: receives data from Program A and inserts it into the window
|
|||||||
| CLIPBOARD | Selecting text and `ctrl+c` | `ctrl+v` | `+` register |
|
| CLIPBOARD | Selecting text and `ctrl+c` | `ctrl+v` | `+` register |
|
||||||
|
|
||||||
**NOTE**: Selections (no, not even the CLIPBOARD selection) are never kept in
|
**NOTE**: Selections (no, not even the CLIPBOARD selection) are never kept in
|
||||||
the X server! Thus you lose the data copied with `ctrl+c` when the application
|
the X server! Thus, you lose the data copied with `ctrl+c` when the application
|
||||||
closes.
|
closes.
|
||||||
|
|
||||||
Use `"*p` to paste the PRIMARY selection or `"+y1G` to yank the entire file to
|
Use `"*p` to paste the PRIMARY selection or `"+y1G` to yank the entire file to
|
||||||
@ -1429,7 +1428,7 @@ Depending on the options, Vim creates up to 4 kinds of working files.
|
|||||||
**Backup files**:
|
**Backup files**:
|
||||||
|
|
||||||
You can tell Vim to keep a backup of the original file before writing to it. By
|
You can tell Vim to keep a backup of the original file before writing to it. By
|
||||||
default Vim keeps a backup but immediately removes it when writing to the file
|
default, Vim keeps a backup but immediately removes it when writing to the file
|
||||||
was successful (`:set writebackup`). If you always want the latest backup file
|
was successful (`:set writebackup`). If you always want the latest backup file
|
||||||
to persist, `:set backup`. Or you disable backups altogether, `:set nobackup
|
to persist, `:set backup`. Or you disable backups altogether, `:set nobackup
|
||||||
nowritebackup`.
|
nowritebackup`.
|
||||||
@ -1456,9 +1455,9 @@ contains unsaved changes. Try it for yourself, open any file and get the current
|
|||||||
swap file by using `:swapname`. You can also disable swap file by putting `:set
|
swap file by using `:swapname`. You can also disable swap file by putting `:set
|
||||||
noswapfile` in your vimrc.
|
noswapfile` in your vimrc.
|
||||||
|
|
||||||
By default the swap file is created in the same directory as the edited file and
|
By default, the swap file is created in the same directory as the edited file
|
||||||
called something like `.file.swp`, updated either all 200 characters or when you
|
and called something like `.file.swp`, updated either all 200 characters or when
|
||||||
haven't typed anything for 4 seconds, and deleted when you stop editing the
|
you haven't typed anything for 4 seconds, and deleted when you stop editing the
|
||||||
file. You can change these numbers with `:h 'updatecount'` and `:h
|
file. You can change these numbers with `:h 'updatecount'` and `:h
|
||||||
'updatetime'`.
|
'updatetime'`.
|
||||||
|
|
||||||
@ -1483,7 +1482,7 @@ used for saving everything else that would otherwise be lost when quitting Vim.
|
|||||||
The viminfo file keeps histories (command line, search, input), registers,
|
The viminfo file keeps histories (command line, search, input), registers,
|
||||||
marks, buffer list, global variables etc.
|
marks, buffer list, global variables etc.
|
||||||
|
|
||||||
By default the viminfo is written to `~/.viminfo`.
|
By default, the viminfo is written to `~/.viminfo`.
|
||||||
|
|
||||||
Related help: `:h viminfo` and `:h 'viminfo'`
|
Related help: `:h viminfo` and `:h 'viminfo'`
|
||||||
|
|
||||||
@ -1563,9 +1562,9 @@ managing plugins. Actually it just adjusts the _runtimepath_ (`:h 'rtp'`) to
|
|||||||
include all the things put under a certain directory. You have to clone the
|
include all the things put under a certain directory. You have to clone the
|
||||||
repositories of the plugins there yourself.
|
repositories of the plugins there yourself.
|
||||||
|
|
||||||
Real plugin managers expose commands that help you installing and updating
|
Real plugin managers expose commands that help you to install and update plugins
|
||||||
plugins from within Vim. Hereinafter is a list of commonly used plugin managers
|
from within Vim. Hereinafter is a list of commonly used plugin managers in
|
||||||
in alphabetic sequence:
|
alphabetic sequence:
|
||||||
|
|
||||||
- [neobundle](https://github.com/Shougo/neobundle.vim)
|
- [neobundle](https://github.com/Shougo/neobundle.vim)
|
||||||
- [plug](https://github.com/junegunn/vim-plug)
|
- [plug](https://github.com/junegunn/vim-plug)
|
||||||
@ -1816,7 +1815,7 @@ So far, so good. But `<up>` and `<down>` are even smarter! They recall the
|
|||||||
command-line whose beginning matches the current command-line. E.g. `:echo <up>`
|
command-line whose beginning matches the current command-line. E.g. `:echo <up>`
|
||||||
may change to `:echo "Vim rocks!"`.
|
may change to `:echo "Vim rocks!"`.
|
||||||
|
|
||||||
Of course I don't want you to reach to the arrow keys, just map it instead:
|
Of course, I don't want you to reach to the arrow keys, just map it instead:
|
||||||
|
|
||||||
```vim
|
```vim
|
||||||
cnoremap <c-n> <down>
|
cnoremap <c-n> <down>
|
||||||
@ -1827,7 +1826,7 @@ I depend on this behaviour several times a day.
|
|||||||
|
|
||||||
#### Saner CTRL-L
|
#### Saner CTRL-L
|
||||||
|
|
||||||
By default `<c-l>` clears and redraws the screen (like `:redraw!`). The
|
By default, `<c-l>` clears and redraws the screen (like `:redraw!`). The
|
||||||
following mapping does the same, plus de-highlighting the matches found via `/`,
|
following mapping does the same, plus de-highlighting the matches found via `/`,
|
||||||
`?` etc., plus fixing syntax highlighting (sometimes Vim loses highlighting due
|
`?` etc., plus fixing syntax highlighting (sometimes Vim loses highlighting due
|
||||||
to complex highlighting rules), plus force updating the syntax highlighting in
|
to complex highlighting rules), plus force updating the syntax highlighting in
|
||||||
@ -1910,7 +1909,7 @@ command! Smaller :let &guifont = substitute(&guifont, '\d\+$', '\=submatch(0)-1'
|
|||||||
#### Change cursor style dependent on mode
|
#### Change cursor style dependent on mode
|
||||||
|
|
||||||
I like to use a block cursor in normal mode, i-beam cursor in insert mode, and
|
I like to use a block cursor in normal mode, i-beam cursor in insert mode, and
|
||||||
underline cursor in replace mode. Also when using tmux in the middle.
|
underline cursor in replace mode.
|
||||||
|
|
||||||
```vim
|
```vim
|
||||||
if empty($TMUX)
|
if empty($TMUX)
|
||||||
@ -1926,7 +1925,9 @@ endif
|
|||||||
|
|
||||||
This simply tells Vim to print a certain sequence of characters ([escape
|
This simply tells Vim to print a certain sequence of characters ([escape
|
||||||
sequence](https://en.wikipedia.org/wiki/Escape_sequence)) when entering/leaving
|
sequence](https://en.wikipedia.org/wiki/Escape_sequence)) when entering/leaving
|
||||||
insert mode. The underlying terminal will process and evaluate it.
|
insert mode. The underlying terminal, or programs like
|
||||||
|
[tmux](https://tmux.github.io) that sit between Vim and the terminal, will
|
||||||
|
process and evaluate it.
|
||||||
|
|
||||||
There's one drawback though: there are many terminal emulator implementations
|
There's one drawback though: there are many terminal emulator implementations
|
||||||
and not all use the same sequences for doing the same things. The sequences used
|
and not all use the same sequences for doing the same things. The sequences used
|
||||||
@ -1976,7 +1977,7 @@ autocmd InsertEnter,WinLeave * set nocursorline
|
|||||||
#### Faster keyword completion
|
#### Faster keyword completion
|
||||||
|
|
||||||
The keyword completion (`<c-n>`/`<c-p>`) tries completing whatever is listed in
|
The keyword completion (`<c-n>`/`<c-p>`) tries completing whatever is listed in
|
||||||
the `'complete'` option. By default this also includes tags (which can be
|
the `'complete'` option. By default, this also includes tags (which can be
|
||||||
annoying) and scanning all included files (which can be very slow). If you can
|
annoying) and scanning all included files (which can be very slow). If you can
|
||||||
live without these things, disable them:
|
live without these things, disable them:
|
||||||
|
|
||||||
@ -2096,10 +2097,10 @@ Time to use binary search. Repeatedly split the search space in two until you
|
|||||||
find the culprit line. Due to the nature of binary division, it won't take many
|
find the culprit line. Due to the nature of binary division, it won't take many
|
||||||
steps.
|
steps.
|
||||||
|
|
||||||
In practice it works like this: Put the `:finish` command in the middle of your
|
In practice, it works like this: Put the `:finish` command in the middle of your
|
||||||
vimrc. Vim will skip everything after it. If it still happens, the problem is in
|
vimrc. Vim will skip everything after it. If it still happens, the problem is in
|
||||||
the active upper half. Move the `:finish` to the middle of _that_ half.
|
the active upper half. Move the `:finish` to the middle of _that_ half.
|
||||||
Otherwise the issue is in the inactive lower half. Move the `:finish` to the
|
Otherwise, the issue is in the inactive lower half. Move the `:finish` to the
|
||||||
middle of _that_ half. And so on.
|
middle of _that_ half. And so on.
|
||||||
|
|
||||||
#### Profiling startup time
|
#### Profiling startup time
|
||||||
@ -2143,7 +2144,7 @@ will be shown. Every line, how often it was executed and how much time it took.
|
|||||||
Most of the time that will be plugin code the user isn't familiar with, but if
|
Most of the time that will be plugin code the user isn't familiar with, but if
|
||||||
you're investigating a certain issue, jump to the bottom of the log. Here are
|
you're investigating a certain issue, jump to the bottom of the log. Here are
|
||||||
two different sections `FUNCTIONS SORTED ON TOTAL TIME` and `FUNCTIONS SORTED ON
|
two different sections `FUNCTIONS SORTED ON TOTAL TIME` and `FUNCTIONS SORTED ON
|
||||||
SELF TIME` that are worth gold. On a quick glance you can see, if a certain
|
SELF TIME` that are worth gold. At a quick glance you can see, if a certain
|
||||||
function is taking too long.
|
function is taking too long.
|
||||||
|
|
||||||
#### Verbosity
|
#### Verbosity
|
||||||
@ -2286,7 +2287,7 @@ all.) It all goes good until an issue appears. Now where is the problem? The
|
|||||||
beginner doesn't know what to do and asks for advice on the internet. After long
|
beginner doesn't know what to do and asks for advice on the internet. After long
|
||||||
back and forth they figure out that the problem was a weird mapping provided by
|
back and forth they figure out that the problem was a weird mapping provided by
|
||||||
the distro. But the beginner thought it was a default Vim mapping... Time was
|
the distro. But the beginner thought it was a default Vim mapping... Time was
|
||||||
wasted, everyone is pissed.
|
wasted, everyone got annoyed.
|
||||||
|
|
||||||
I don't have problems with distributions per se, but please, if you don't
|
I don't have problems with distributions per se, but please, if you don't
|
||||||
understand exactly what they're doing, don't try to get help from others in case
|
understand exactly what they're doing, don't try to get help from others in case
|
||||||
@ -2455,7 +2456,7 @@ up?
|
|||||||
This only happens if you paste via `cmd+v`, `shift-insert`, `middle-click` etc.
|
This only happens if you paste via `cmd+v`, `shift-insert`, `middle-click` etc.
|
||||||
because then you're just throwing text at the terminal emulator. Vim doesn't
|
because then you're just throwing text at the terminal emulator. Vim doesn't
|
||||||
know that you just pasted the text, it thinks you're an extremely fast typist.
|
know that you just pasted the text, it thinks you're an extremely fast typist.
|
||||||
Accordingly it tries to indent the lines and fails.
|
Accordingly, it tries to indent the lines and fails.
|
||||||
|
|
||||||
Obviously this is not an issue, if you paste using Vim's registers, e.g. `"+p`,
|
Obviously this is not an issue, if you paste using Vim's registers, e.g. `"+p`,
|
||||||
because then Vim knows that you're actually pasting.
|
because then Vim knows that you're actually pasting.
|
||||||
@ -2514,10 +2515,10 @@ character.
|
|||||||
Putting it in a nutshell, Vim has a hard time distinguishing between a typed
|
Putting it in a nutshell, Vim has a hard time distinguishing between a typed
|
||||||
`<esc>` character and a proper escape sequence.
|
`<esc>` character and a proper escape sequence.
|
||||||
|
|
||||||
By default Vim uses `:set timeout timeoutlen=1000`, so it delays on ambiguity of
|
By default, Vim uses `:set timeout timeoutlen=1000`, so it delays on ambiguity
|
||||||
mappings _and_ key codes by 1 second. This is a sane value for mappings, but you
|
of mappings _and_ key codes by 1 second. This is a sane value for mappings, but
|
||||||
can define the key code timeout on its own which is the most common workaround
|
you can define the key code timeout on its own which is the most common
|
||||||
for this entire issue:
|
workaround for this entire issue:
|
||||||
|
|
||||||
```vim
|
```vim
|
||||||
set timeout " for mappings
|
set timeout " for mappings
|
||||||
|
Loading…
x
Reference in New Issue
Block a user