Acabei de comprar um Mac! Como faço para “finalizar”, “home”, “page up” e “page down” no meu terminal / editor VIM?

8

Eu escrevo muito python no meu VIM, no terminal. O que eu faço?

Alex
fonte
1
na verdade, se você precisar fazer essas perguntas, considere usar outro editor ou IDE para escrever python. Quanto ao assunto, home => ^, end => $, pagina acima = ^ f, pagina abaixo = ^ b; Note que você precisa para sair do modo de edição usando Esc primeiro, e depois ir novamente por exemplo i ou um ....
bubu
1
@bubu bah! Eu digo. Eu faço toda a minha codificação no VIM, é um excelente editor, mesmo para python.
precisa
1
Você está se referindo às teclas 'home' 'end' 'page up' 'page down' 'do teclado ou está simplesmente procurando os comandos de navegação VIM adequados?
Stefan Lasiewski

Respostas:

17

Faça os atalhos vi padrão de mais de 30 anos de idade de

^f(avançar == página abaixo)
^b(voltar == página acima)
^(que é um sinal de intercalação no turno 6 para o início da linha) e
$(fim da linha)

...não funciona?

Ou você está procurando teclas de teclado no estilo PC para essas funções? Para aqueles, use as teclas de seta Fn +:

Fn + seta para baixo == página abaixo
Fn + seta para cima == página acima
Fn + seta para esquerda == página inicial
Fn + seta para direita == fim

Spiff
fonte
4
As combinações de teclas 'Fn + arrow' não funcionam para mim usando o Terminal.App e o Vim.
Stefan Lasiewski
|é equivalente a HOME: os dois vão para a 0a coluna da linha, em vez do primeiro caractere não espacial nela.
intuited
Em mc no Lion, as setas Fn + funcionam apenas para mim. As teclas ^ f, ^ b carregam o arquivo anterior \ próximo na pasta atual. Graças
kradmiy
Obrigado por isso! Também posso mover o cursor enquanto estiver no modo de inserção? Eu posso fazer isso no Windows e Linux. O Mac OS X é tão bom quanto eles? Correção menor: 0 faz a primeira posição da linha atual, enquanto ^ faz o primeiro caractere não vazio da linha atual.
tommy.carstensen
Isso não responde à pergunta. Para que HOME e END funcionem no vim e no shell, coloque bind '"\e[1~":"\eOH"'e bind '"\e[4~":"\eOF"'em seu $ HOME / .bashrc. Mais personalização para bash / vim, compatível com Mac e Linux, em github.com/sudoer/dotfiles .
Alan Porter
7

Comandos Vim (estes não são específicos para mac):

fim da linha: $

início da linha: 0

página abaixo: ctrl + f

página acima: ctrl + b

Jed Daniels
fonte
2

Se você observar as configurações do teclado do terminal - poderá trocar as ações por página para cima / baixo e mudar de página para cima / baixo. Isso funciona no vim padrão e como você esperaria em caixas remotas.

GG e G são tudo que você precisa para casa / fim. (Passei um tempo tentando fazê-lo funcionar)

Jacob
fonte
1

Para que HOME e END funcionem no vim e no shell, coloque bind '"\e[1~":"\eOH"'e bind '"\e[4~":"\eOF"'no seu arquivo $ HOME / .bashrc.

Mais personalização para bash / vim, compatível com Mac e Linux, em https://github.com/sudoer/dotfiles . Nos scripts do bash, procure pelas palavras $ OSTYPE e "darwin". Há um bloco "Darwin" semelhante no vimrc para ajustes específicos do Mac no vim.

Alan Porter
fonte