다음 명령을 입력하십시오.
cat somefile
Enter를 누르고 명령을 실행하십시오.
그런 다음 ESC + k를 사용하여 검색하고 다시 가져오겠습니다.
프롬프트에 계속 입력하는 동안 돌아가서 명령을 편집하고 싶습니다. 내가 이해한 바로는 ESC+o를 사용하면 명령에 작성한 내용을 입력하거나 반환할 수 있습니다.
그러나 이러한 단축키는 처음 누른 후에는 작동하지 않는 것 같습니다. 그러나 화살표 키를 몇 번 누르면 편집할 수 있습니다. ESC + k로 검색된 프롬프트에서 명령을 편집하는 다른 방법이 있습니까?
답변1
명령줄 프롬프트가 나타나면 코드를 삽입할 수 있습니다.
현재 vi 편집 모드입니다.
vi 매뉴얼을 확인할 수 있습니다. 다음은 몇 가지 명령줄 명령입니다.
- ESC는 삽입 모드를 종료하고 명령 모드로 들어갑니다.
- ESC /somecommand ENTER nn somecommand를 찾습니다. nn은 다음 두 개를 찾고 있어요
- ESC wwb3w 앞으로 2자, 뒤로 1자, 앞으로 3자
- ESC dwxx는 단어와 ws 1 문자를 두 번 삭제합니다.
- ESC lllcw 왼쪽으로 3자리, 단어 변경
- ESC wrs 한 단어 앞으로 이동하고 문자를 s로 바꿉니다.
답변2
예, 그렇습니다. "!!"를 사용하여 이전 명령을 실행할 수 있습니다. 예를 들어:
$ cat file.txt
$ !! file2.txt # this will output both file.txt and file2.txt
다른 명령으로 파이프할 수도 있습니다.
$ !! | some_command # it will pipe just previous command's output to some_commands
그리고... 처음 5개 명령을 실행하려는 경우
$ !-5
명령의 순서를 모르신다면,
$ history
233 cat file.txt
234 ls
235 date
$!234 # this will execute ls command