¡Qué es el mando! -bang -nargs = * en un archivo vimrc?

Pregunta:

Leí un documento sobre vim y el autor sugirió una línea de código que debería colocarse en .vimrc, pero no tengo ni idea de qué es.

command! -bang -nargs=* Find call fzf#vim#grep('rg --column --line-number --no-heading --fixed-strings --ignore-case --no-ignore --hidden --follow --glob "!.git/*" --color "always" '.shellescape(<q-args>), 1, <bang>0)

Entonces, ¿qué es el command! , -bang , -nargs , etc?

Respuesta:

Como siempre, la ayuda es tu mejor amiga:

:h :command :

:com[mand][!] [{attr}...] {cmd} {rep}

Defina un comando de usuario. El nombre del comando es {cmd} y su texto de reemplazo es {rep}. Los atributos del comando (ver más abajo) son {attr}. Si el comando ya existe, se informa de un error, a menos que un! se especifica, en cuyo caso se redefine el comando.

Por lo tanto :command! se utiliza para crear un nuevo comando que puede utilizar desde la línea de comandos. Aquí el nuevo comando es :Find y se usa para ejecutar fzf#vim#grep() que es una llamada al complemento fzf que permitirá encontrar algunos archivos de forma difusa.

Los otros argumentos se describen en la documentación:

  • :h :command-nargs -nargs se usa para hacer que el nuevo comando pueda tomar un argumento :Find arg1
  • :h :command-bang -bang se usa para que el nuevo comando pueda interpretar un ! como en :Find!

! El ! justo después del command se usa para decirle a vim que redefina el comando si ya existe, de esta manera cuando .vimrc su .vimrc no tiene un mensaje de error.

En cuanto a los argumentos pasados ​​a la función fzf , te dejaré leer el documento del complemento para ver qué hacen 🙂

Leave a Comment

Your email address will not be published.

Scroll to Top

istanbul avukat

-

web tasarım