Liberando o ctrl+s e o ctrl+q para o VIM

Publicado por Mauricio Ferrari em 05/08/2020

[ Hits: 2.448 ]

Blog: https://www.youtube.com/@LinuxDicasPro

 


Liberando o ctrl+s e o ctrl+q para o VIM



Após seguir as dicas para customização do editor VIM aqui do VOL, resolvi fazer uns aprimoramentos por minha conta para inserir no .vimrc e assim personalizar ainda mais os comandos do programa.

A minha ideia era basicamente essa:
  • Usar o ctrl + q para executar o :q! para sair sem salvar.
  • Usar o ctrl + s para executar o :w para salvar o documento.

Com base no meu aprendizado, criei essa instrução no .vimrc:

" Salvar
nnoremap <c-s> :w<cr>
inoremap <c-s> <c-o>:w<cr>

" Sair
nnoremap <c-q> :q!<cr>
inoremap <c-q> <c-o>:q!<cr>

Ok, vamos explicar um pouco isso. A primeira instrução é para o modo normal, a segunda é para o modo inserir. O resto fica assim:
  • <c-s> = O ctrl + s que você vai usar.
  • <c-o> = Modo inserção, que será aberto no modo inserir.
  • :w = comando para salvar.
  • <cr> = Tem relação com o Enter. Necessário.
  • <c-q> = O ctrl + q que você vai usar.
  • :q! = Para sair sem salvar.

Beleza, tudo pronto. O problema é que na hora de testar, o ctrl + q não vai funcionar e o ctrl + s vai travar o programa. E agora?

O problema é que o ctrl + s é usado para ativar o Scroll Lock no terminal e o ctrl + q é o atalho que desativa o recurso no terminal.

Para desativar esse recurso e liberar as combinações, é necessário inserir no .bashrc:

stty -ixon

Pronto, agora é só verificar se algum plugin que você possa ter instalado também está usando o <c-s> ou algo similar para desativar, pois esse também irá atrapalhar. Após os ajustes, é só abrir o vim e usar os comandos.

Outras dicas deste autor

Instalando o BootUp Manager no Deepin 20

Ctrl+C e Ctrl+V no Terminal Linux

Usando "sscanf" para Dividir String com Delimitadores em C

Desbloquear Pendrive Protegido Contra Gravação

Usando Vídeo Wallpaper no KDE

Leitura recomendada

Compilando a última versão do VIM em Debian, Mint, Ubuntu e derivados

Habilitando sintaxe no VIM para o logstash

Vim - substituindo somente no bloco selecionado

Convertendo texto em arte ASCII com Vim + Figlet

Vim - juntar múltiplas linhas em uma só (JOIN)

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts