mirror of
https://github.com/Raimondi/delimitMate.git
synced 2025-12-06 12:44:27 +08:00
Compare commits
7 Commits
47cb747b7a
...
356cd3cca7
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
356cd3cca7 | ||
|
|
becbd2d353 | ||
|
|
382c36bf57 | ||
|
|
b6b57ccb05 | ||
|
|
e91b50c2e6 | ||
|
|
54960895ce | ||
|
|
3aa8a4d3a8 |
89
README.md
89
README.md
@@ -1,6 +1,85 @@
|
||||
This plug-in provides automatic closing of quotes, parenthesis, brackets, etc., besides some other related features that
|
||||
should make your time in insert mode a little bit easier, like syntax awareness (will not insert the closing delimiter
|
||||
in comments and other configurable regions), <CR> and <Space> expansions (off by default), and some more.
|
||||
# delimitMate
|
||||
|
||||
Most of the features can be modified or disabled permanently, using global variables, or on a FileType basis, using
|
||||
:autocmd.
|
||||
> Vim plugin for automatic closing of quotes, parenthesis, brackets, etc.
|
||||
|
||||
## Installation
|
||||
|
||||
- [plug.vim](https://github.com/junegunn/vim-plug)
|
||||
|
||||
```vim
|
||||
Plug 'Raimondi/delimitMate'
|
||||
```
|
||||
|
||||
## Features
|
||||
|
||||
### Automatic closing & exiting
|
||||
|
||||
```
|
||||
Type | You get
|
||||
=======================
|
||||
( | (|)
|
||||
-----------|-----------
|
||||
() | ()|
|
||||
-----------|-----------
|
||||
(<S-Tab> | ()|
|
||||
-----------|-----------
|
||||
{("<C-G>g | {("")}|
|
||||
```
|
||||
|
||||
### Expansion of space and CR
|
||||
|
||||
Expand `<Space>` to:
|
||||
|
||||
```
|
||||
You start with | You get
|
||||
==============================
|
||||
(|) | ( | )
|
||||
```
|
||||
|
||||
Expand `<CR>` to:
|
||||
|
||||
```
|
||||
You start with | You get
|
||||
==============================
|
||||
(|) | (
|
||||
| |
|
||||
| )
|
||||
```
|
||||
|
||||
### Backspace
|
||||
|
||||
```
|
||||
What | Before | After
|
||||
==============================================
|
||||
<BS> | call expand(|) | call expand|
|
||||
--------|-------------------|-----------------
|
||||
<BS> | call expand( | ) | call expand(|)
|
||||
--------|-------------------|-----------------
|
||||
<BS> | call expand( | call expand(|)
|
||||
| | |
|
||||
| ) |
|
||||
--------|-------------------|-----------------
|
||||
<S-BS> | call expand(|) | call expand(|
|
||||
```
|
||||
|
||||
### Smart Quotes
|
||||
|
||||
```
|
||||
What | Before | After
|
||||
=======================================
|
||||
" | Text | | Text "|"
|
||||
" | "String| | "String"|
|
||||
" | let i = "| | let i = "|"
|
||||
'm | I| | I'm|
|
||||
```
|
||||
|
||||
### BALANCING MATCHING PAIRS
|
||||
|
||||
```
|
||||
e.g. typing at the "|": >
|
||||
|
||||
What | Before | After
|
||||
=======================================
|
||||
( | function| | function(|)
|
||||
( | |var | (|var
|
||||
```
|
||||
|
||||
@@ -483,8 +483,9 @@ function! delimitMate#ExpandReturn() "{{{
|
||||
" indentation is controlled by 'smartindent', and the first character on
|
||||
" the new line is '}'. If this were typed manually it would reindent to
|
||||
" match the current line. Let's reproduce that behavior.
|
||||
let shifts = indent('.') / &sw
|
||||
let spaces = indent('.') - (shifts * &sw)
|
||||
let sw = &sw == 0 ? &ts : &sw
|
||||
let shifts = indent('.') / sw
|
||||
let spaces = indent('.') - (shifts * sw)
|
||||
let val .= "^\<C-D>".repeat("\<C-T>", shifts).repeat(' ', spaces)
|
||||
endif
|
||||
" Expand:
|
||||
|
||||
Reference in New Issue
Block a user