vim não mostrado no fusor

2

Primeiro, use o Vim para editar um arquivo, digamos / tmp / A.

Assumindo que o processo vim é o único que acessa / tmp / A, então use "ctrl + z" para suspender o processo e executar

fuser /tmp/A

Então você não vê nada na saída.

No entanto, se você usar "menos" para abrir esse arquivo, poderá ver o pid de menos na saída do fusor.

Existe algo especial sobre o vim que faz esse cenário estranho?

    
por twimo 30.11.2012 / 11:29

1 resposta

4

Sim, o vim não abre o arquivo até que ele precise salvá-lo. Em vez disso, o vim usa um arquivo de swap oculto temporário para salvar as alterações feitas de forma incremental. Depois de salvar o arquivo ( :w ), ele gravará no arquivo original.

Você pode ver isso por si mesmo usando lsof , por exemplo:

$ lsof -n -p 'pidof vim'
COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF   NODE NAME
[...]
vim     9695 gert    4u   REG  252,1    12288 410388 /tmp/.a.swp
[...]

Esse é um comportamento comum para editores . less apenas lê o arquivo e não adianta usar truques ao abrir um arquivo para leitura.

    
por 30.11.2012 / 11:37