Eu acho que seria útil ter a possibilidade de trocar true
e false
valores no código rapidamente, com a combinação ctrl+ aou ctrl+ x. Existe algum plugin para isso ou algo mais?
key-bindings
Alexander Myshov
fonte
fonte
Há switch.vim , e é personalizável.
Por exemplo, se o cursor estiver no
true
código a seguir:depois de executar
:Switch
, otrue
irá se transformarfalse
.fonte
Pletora de Plugins
A alternância
true
/false
e similar foi implementada por muitos autores de plugins. Dois deles já foram mencionados:Outros são alternados por Timo Teifel ( # 895 ), segunda-feira por Stefan Karlsson ( # 1046 ), toggle_words por Vincent Wang ( # 1676 ), toggle_word por Alexandru Ungur ( # 1748 ), incbool.vim por Dmitry Petrov ( # 4361 , github ) , nextval por Michael Arlt ( # 4536 , github ).
Caso você queira aumentar os números de acordo com uma série personalizada, por exemplo, a série Fibonacci, consulte o nexus de Barry Arthur ( github ).
Supercharging de plugins
Ctrl-A/X
No entanto, nem todos eles seguem por padrão a idéia de estender,
Ctrl-A/X
mas definem um novo comando e / ou um novo mapeamento (incluindo switch.vim e toggle-bool ). Quero destacar os plugins que 'sobrecarregam' imediatamenteCtrl-A/X
e, portanto, fornecem por padrão o que o OP pediu:Um plugin relacionado que também se estende
Ctrl-A/X
é a speeddating de Tim Pope ( # 2120 , github ) que permite aumentar as datas.Cair pra trás
Alguns plug-ins permitem combinar um segundo
Ctrl-A/X
plug-in incrementador como substituto, por exemploSwapIt de Michael Brown:
ciclo por bootleq:
switch.vim por Andrew Radev:
Nota
Se você usar o comportamento de busca do builtin
Ctrl-A/X
(encontre o próximo valor possível na linha para incrementar), sobrecarregá-los pode interferir.fonte
altere o mapeamento para o que você deseja usar
o desfazer é no caso de você usá-lo em cima de um espaço, pois o ciw editará o espaço em vez da palavra (e não há uma maneira fácil de obter a palavra certa de maneira confiável)
observe também que ^ M precisa ser
<C-V><Enter>
, não literalmente ^ Mfonte
<C-a>
e,<C-x>
quando a palavra atual não for booleana, dessa forma, o OP seria realmente capaz de usar esses mapeamentos. Além disso, você pode usar em<CR>
vez de^M
no seu mapeamento, e geralmente é uma prática recomendada fornecer um modo ao seumap
comando, aquinnoremap
seria mais apropriado do quenoremap
.