응용프로그램2016. 7. 8. 11:14

옛날 글에 썼듯 크롬은 컨트롤+탭으로 최근 탭 간 이동을 할 수 없다. 크롬이 처음 나왔을 때부터 지금까지 단 한 번도 지원된 적이 없다. 이슈 리포트는 이런 문서 등을 참고. 이에 여러 확장기능이 나왔으나 Ctrl+Tab이 아니라 다른 단축키를 사용하는 꼼수밖에 없었다. 혹은 오토핫키를 쓰거나. 어쨌든 구글은 이걸 지원할 생각이 없다.


이에 최근 나온 방법이 있다. Ctrl+Tab MRU라는 확장기능을 깐다. 일단 현재는 이걸 깔면 Ctrl+Y로 최근 탭으로 이동할 수 있다(물론 구글이 언젠가 이것도 막을지 모른다). 이제 이 확장기능의 단축키를 Ctrl+Tab으로 바꾸면 된다.


물론 구글 설정에서는 단축키로 탭을 지정할 수 없다. 이에 해당 확장기능 설명 페이지에 적힌 방법은 이렇다. 윈도우 기준.

  1. 크롬을 끈다.
  2. %LOCALAPPDATA%\Google\Chrome\User Data\Default로 이동
  3. Preferences 파일을 열고 Ctrl+YCtrl+Tab으로 바꾼다(Ctrl+Shift+YCtrl+Shift+Tab으로).
  4. 파일을 저장하고 크롬을 켠다. Preferences 파일은 UTF8로 된 JSON 파일이다. 인코딩이 잘못되면 설정이 날아가버리니(경험담) 잘 모르겠으면 백업해두는 게 좋다.
  5. 크롬을 켠다.
  6. 구글 확장기능 단축키 설정에 가서 'Ctrl+탭'으로 표시되는 걸 확인한고 [확인]을 누른다.

정확하지는 않지만, 1~5번까지만 거치고 6번 과정을 생략하면 크롬 종료 시 해당 단축키가 리셋되는 듯하다. 나는 그냥 부팅할 때마다 실행되는 배치 파일에서 Preferences 파일을 수정하게 해놨다. 먼저 아무 곳에나 파워셸 파일을 하나 만든다.

(Get-Content $args[0] -Encoding UTF8) -replace "Ctrl\+Y", "Ctrl+Tab" -replace "Ctrl\+Shift\+Y", "Ctrl+Shift+Tab" | Set-Content $args[0] -Encoding UTF8


그다음 부팅할 때마다 실행되는 배치 파일에 다음과 같이 추가.

Powershell -noprofile -executionpolicy bypass -file 앞에서_만든_파워셸_파일.ps1 "%LOCALAPPDATA%\Google\Chrome\User Data\Default\Preferences"


파워셸 말고 그냥 배치 파일로도 가능할 것 같은데 뭔가 생각보다 복잡해서 그냥 포기했다.


Posted by 필유