자신만의 마우스리스 개발 환경을 구축하는 방법

게시 됨: 2022-03-10
빠른 요약 ↬ 셸을 핵심으로 사용하여 개발 환경을 구축하면 여러 이점이 있습니다. 서로 잘 어울리는 도구를 사용할 수 있고, 필요에 따라 모든 것을 사용자 정의할 수 있으며, 무엇보다도 키보드로 전체 개발 환경을 제어할 수 있습니다. 이를 통해 많은 인지 에너지를 절약할 수 있을 뿐만 아니라 쾌적한 사용자 경험을 제공할 수 있습니다.

옛날 옛적에 소프트웨어 개발이라는 마법의 땅에 처음으로 Linux를 발견한 젊은 개발자, 겸손한 하인이 있었습니다. 갑자기 나는 반복해서 하고 싶지 않은 모든 것을 자동화할 수 있는 다양한 방법을 제공하는 도구인 Linux 셸에 액세스할 수 있게 되었습니다.

그러나 우분투에 단점이 없는 것은 아닙니다. 나는 종종 디스플레이 버그와 충돌의 희생자였으며 시간이 지남에 따라 점점 느려졌습니다.

어느 날 끔찍한 일이 발생했습니다. Ubuntu를 다음 주요 버전으로 업데이트해야 했습니다. 모든 것이 충돌했습니다. 더 이상 시스템을 시작할 수 없습니다. Linux가 내부에서 어떻게 작동하는지 전혀 몰랐기 때문에 내가 직면한 문제를 어떻게 해결할 수 있는지 전혀 몰랐습니다. 우분투는 내가 신경 쓰지 않도록 모든 핵심을 추상화 했습니다.

Ubuntu와 모든 도구를 수동으로 다시 설치해야 했습니다. 최악의 부분은 모든 것을 재구성하는 것이었다. 전반적으로 충돌 이전의 시스템으로 돌아가는 데 며칠이 걸렸습니다. 하지만 다른 대안이 없었기 때문에 몇 년 동안 계속 우분투를 사용했습니다. 이 기간 동안 모든 것을 수동으로 계속해서 다시 설치할 필요 없이 다음 주 버전으로 업데이트할 수 없었습니다.

회사에서 두 명의 훌륭한 개발자를 고용하면서 개발자로서의 삶이 다시 바뀌었습니다. 그들은 Linux와 내가 사용할 수 있는 다양한 배포판에 대해 많이 알고 있었습니다. 그들은 나를 안내하고 Ubuntu에서 내가 가진 모든 문제를 해결하는 도구를 보여주었습니다. 이러한 도구 는 내 작업 흐름을 크게 향상시켰습니다 . 개발자가 가능한 한 키보드에 손을 대고 있는 것이 얼마나 실용적인지 보여주었습니다.

이것은 6년 전에 일어난 일입니다. 지금도 같은 개발 환경을 사용하고 있습니다. 나는 모든 도구를 관리하기 위해 92.8%의 시간을 키보드를 사용하며 , 이해하기 쉽고 기억하기 쉬운 키스트로크를 사용합니다. 내가 사용하는 모든 도구와 해당 구성을 포함하여 내가 작성한 여러 스크립트로 전체 시스템을 다시 설치할 수 있습니다.

오늘 저는 이러한 도구를 공유하여 여러분도 일상 업무에서 효율성과 편안함을 높일 수 있도록 하고자 합니다. 그것들은 함께 잘 작동하여 제가 Mouseless Development Environment 라고 부르는 것을 형성합니다. 더 정확하게는 다음과 같이 논의합니다.

  • 일반 텍스트(코드 포함)로 작업할 때 Linux 셸을 사용하는 것이 매우 강력한 이유는 무엇입니까?
  • 두려운 Arch Linux를 사용하는 이유
  • 타일링 창 관리자의 장점
  • URxvt, tmux 및 tmuxp로 훌륭한 터미널 경험을 갖는 방법;
  • Vim이 당신의 가장 친한 친구가 될 수 있는 이유.

참고 : 이 기사에서 옹호하는 도구는 Linux 기반 시스템에서 작동합니다. i3를 제외한 macOS에서도 사용할 수 있습니다. Windows의 경우 가장 쉬운 방법은 WSL(Windows Linux 하위 시스템)을 사용하여 설치하고 사용하는 것입니다.

이러한 도구를 사용하지 않고는 이 새로운 작업 방식을 발견하지 못했을 것입니다. 그렇기 때문에 설치하고, 실험하고, 나처럼 사랑에 빠지는지 직접 확인하는 것이 좋습니다.

쉘 위의 마우스리스

개발자로서 쉘을 사용하지 않는 것은 거의 불가능합니다. 이것은 지루한 작업을 모두 자동화하여 워크플로를 단순화할 수 있는 강력한 도구입니다.

쉘의 이점

셸과 터미널을 사용하는 이점에 대해 이야기하기 전에 이 두 아이디어의 차이점이 무엇인지 간략하게 설명하겠습니다.

터미널은 쉘과 상호 작용할 수 있는 그래픽 인터페이스입니다. Linux에서 이 셸은 종종 Bash이지만 Zsh와 같이 다른 셸도 될 수 있습니다. 쉘은 인터프리터입니다. 명령과 함께 공급할 수 있으며 일부 작업을 수행하기 위해 명령을 실행합니다. 또한 때로는 출력을 다시 제공합니다. "명령줄"과 "쉘"이라는 용어는 동의어입니다.

Mouseless Development Environment를 태양계에 비유한다면, 껍질은 태양이고 다른 모든 것들은 태양을 중심으로 회전할 것입니다. 쉘이 정말 강력하기 때문입니다. 함께 잘 작동하는 많은 작은 프로그램을 실행할 수 있습니다. CLI(명령줄 인터페이스)라고 합니다.

이러한 도구의 가장 큰 장점은 매우 간단하고 격리된 상태에서는 제한적이지만 강력한 결과를 위해 연결할 수 있다는 것입니다. 예를 들어 CLI "history", "sort", "uniq" 및 "head"를 모두 사용하여 가장 많이 사용하는 CLI와 사용 빈도를 표시할 수 있습니다.

리눅스 쉘
리눅스 쉘. (큰 미리보기)

사용할 수 있는 CLI가 많이 있습니다. 첫째, Linux 셸이 오랫동안 사용되었기 때문입니다. 개발자들은 많은 도구를 개발하고 신뢰할 수 있게 만들 시간을 가졌습니다. 둘째, GUI(그래픽 사용자 인터페이스)보다 CLI를 개발하기 쉽기 때문입니다. 이러한 그래픽 인터페이스를 설계하고 구현하려면 훨씬 더 많은 작업이 필요합니다. CLI에는 개발, 변경 및 유지 관리가 더 쉬운 텍스트 인터페이스 만 있습니다.

CLI가 빠른 이유이기도 합니다. 디스플레이 및 기타 그래픽 요소를 엉망으로 만들 필요가 없습니다. Ubuntu의 주요 문제 중 하나였습니다. 데스크톱 환경인 Unity는 상당히 무겁고 느리고 버그가 많았습니다. 적어도 내 경험상. 상단에 더 많은 GUI를 사용하면 상황이 악화되었습니다.

명령줄의 또 다른 큰 장점은 매일 반복되는 지루한 모든 작업을 자동화하는 셸 스크립트를 작성할 수 있다는 것입니다. 예를 들어 이미지 크기를 매우 자주 같은 크기로 조정해야 하는 경우 이에 대한 스크립트를 작성할 수 있습니다. 특정 유형의 파일을 자주 검색하는 경우 해당 파일도 자동화할 수 있습니다. 하늘이 한계입니다.

점프 후 더! 아래에서 계속 읽기 ↓

CLI에도 단점이 있습니다. 초보자가 사용하기에는 조금 더 벅차지만, 특정 CLI 사용법을 모르더라도 필요한 것을 빠르게 얻을 수 있는 방법이 있습니다.

마지막으로 원격 서버에서 수행할 작업이 있는 경우 종종 셸을 사용하게 됩니다. 대부분의 경우 그래픽 인터페이스가 없으므로 선택의 여지가 없습니다. 이러한 경우 명령줄을 사용하는 방법을 알아야 합니다.

마우스리스 접근

셸에는 텍스트 인터페이스가 있기 때문에 키보드를 사용할 때 손이 키보드 위에 머물러 있습니다. 이것은 내가 개발자로 일한 첫 해에는 전혀 고려하지 않은 것이지만 큰 이점입니다.

내 경험상 키보드와 마우스 사이에서 수백 번의 손 움직임을 피하면 인지 에너지가 많이 절약됩니다. 실제로 키보드에 붙이려고 했을 때 얼마나 편안했는지 알고 충격을 받았습니다. 덤으로 쇼핑리스트만 써도 셸에 키보드만 쓰는 해커가 된 기분! 얼마나 대단한 일입니까?

나는 이것을 시도하기 전에 이 "마우스 없는" 아이디어에 대해 매우 회의적이었다는 것을 인정해야 합니다. 아래에서 설명하는 도구를 사용하면 모든 습관을 다른 날로 변경할 필요가 없었습니다. 마우스도 함께 사용할 수 있습니다. 그러나 키보드로 관리할 때 정말 빛납니다.

비록 그것이 실제로 증명되지는 않았지만, 나는 또한 키보드에 머무르는 것이 우리를 더 효율적으로 만든다고 믿습니다. The Pragmatic Programmer 라는 책은 다음과 같이 지적했습니다.

"일반적인 편집 작업에 키 입력만 사용하는 것이 마우스나 메뉴 기반 명령보다 더 효율적입니다. 손이 키보드를 떠나지 않기 때문입니다."

즉, 효율성은 여기에서 주요 목표가 아닙니다. 나는 내 키보드에 머물면서 이 모든 도구를 사용하는 것을 좋아합니다. 왜냐하면 당면한 작업에 전적으로 집중할 수 있기 때문입니다. 그것은 내가 일을 시작하고 내 일을 완수하도록 동기를 부여합니다.

기반: 아치 리눅스

마우스 없는 여정을 시작할 때 새 친구 중 한 명이 Ubuntu 대신 Arch Linux를 사용하라고 조언했습니다. 다시 한 번 회의론이 싹트고 있었고, 의심이 내 불쌍한 두뇌를 침범하고 있었습니다. 아치 리눅스? 이 끔찍한 Linux 배포판을 완전히 수동으로 설치하고 구성해야 합니까? 이 불안정한 시스템은 많은 사람들에게 농담이 되었습니까?

때로는 고정 관념이 현실과 아무 관련이 없으며 Arch Linux가 이러한 아이디어의 완벽한 예입니다. 저는 Windows(98에서 7까지), macOS를 사용했고 다른 Linux 배포판도 사용해 보았습니다. 의심할 여지 없이 내 결론은 Arch Linux가 가장 안정적입니다.

즉, Arch Linux는 Mouseless 개발 환경에 대한 요구 사항이 아닙니다. 이 기사에서 설명하는 다른 모든 도구를 다른 Linux 배포판에서도 사용할 수 있습니다. macOS(i3 제외) 또는 Linux용 Windows 하위 시스템(WSL)이 있는 경우 Windows에서도 사용할 수 있습니다. 하지만 그 전에 Arch Linux를 진지하게 고려해야 하는 이유를 말씀드리겠습니다.

롤링 릴리스 시스템

Arch Linux에는 롤링 릴리스 시스템 이 있습니다. 즉, 매주 또는 격주로 전체 시스템을 자주 업데이트해야 합니다. Ubuntu로 돌아오려면 장기 지원 시스템 이 있습니다. 일년에 몇 번만 업데이트하거나 원하는 경우 더 적게 업데이트하면 됩니다.

많은 개발자들은 롤링 릴리스 시스템이 개발 환경을 불안정하게 만든다고 생각하는데, 이는 부분적으로 Arch Linux의 명성을 설명합니다. 하지만 6년 동안 매일 사용하면서 나는 한 번도 문제가 없었고 내 친구들도 그것을 사용했습니다. 다른 측면 에서 롤링 시스템의 장점은 다음과 같습니다.

  • 내가 사용하는 모든 응용 프로그램은 항상 최신 상태입니다. 필요할 때 최신 버전을 사용하기 위해 수동으로 컴파일할 필요가 없습니다.
  • 시스템을 업데이트한다는 것은 한 번에 도입되는 변경 사항이 적다는 것을 의미합니다. 결과적으로 충돌 가능성도 줄어듭니다.

Ubuntu에 대한 내 경험과 업데이트할 때 발생한 충돌에 대해 이야기했습니다. 나는 아치 리눅스에 아무런 문제가 없었습니다.

너가 필요한 모든것

또한 Arch Linux의 저장소는 방대합니다. 거기에서 필요한 모든 도구를 찾을 가능성이 매우 큽니다. 그렇지 않은 경우 다른 모든 것이 있는 AUR(Arch User Repositories)을 볼 수 있습니다. AUR은 공식 리포지토리가 아니므로 거기에 있는 애플리케이션에 보안 문제가 있을 수 있습니다. 다시 말하지만, 나는 그들과 아무런 문제가 없었지만 가능합니다. 공식 리포지토리를 고수하고 AUR의 모든 것을 설치하지 않는 한 아무 문제가 없습니다.

학습 기회

Arch Linux는 매우 최소한의 배포판이라는 점도 언급합시다. 당신이 그것을 설치할 때 많은 쓸모없는 응용 프로그램을 부과하지 않습니다. 말하자면 셸을 사용하여 전체 배포판을 수동으로 설치해야 합니다. 이 작업은 벅차게 느껴질 수 있지만 한편으로는 경험을 통해 많은 것을 배울 수 있습니다.

이 기사의 시작 부분에서 언급했듯이 Linux 기반 시스템이 내부에서 어떻게 작동하는지 최소한 알고 있으면 시스템이 이상하게 작동하거나 충돌할 때 도움이 될 수 있습니다. 보이는 것만큼 복잡하지 않으며 개발자라면 필수 사항이라고 주장하고 싶습니다. 웹, 휴대전화 또는 Raspberry Pie는 요즘 Linux에서 실행됩니다.

마지막으로 Arch Wiki는 Linux와 관련된 모든 것을 찾을 수 있는 최고의 장소입니다. 우분투를 사용하는 동안에도 많은 도움이 되었습니다. 시스템 문제 를 해결하고 새로운 도구를 찾기에 좋은 곳입니다.

i3로 Windows 관리하기

Arch Linux가 Mouseless 개발 환경을 위한 견고한 기반이 될 수 있는 이유를 검토했으므로 이제 무엇을 추가할 수 있는지 살펴보겠습니다.

그러나 먼저 약간의 이론. 운영 체제에는 서로 다소 결합된 세 개의 계층이 있는 경우가 많습니다.

  1. 컴퓨터의 하드웨어를 직접 조작하는 커널 ,
  2. shell , 사용자 또는 일부 응용 프로그램이 커널과 상호 작용하기 위한 인터페이스입니다.
  3. 데스크탑 관리자 또는 타일링 창 관리자와 같은 상단의 디스플레이 레이어 .

Gnome 또는 Unity는 둘 다 Linux 기반 시스템용 데스크탑 관리자입니다. 그들은 당신의 창과 상태 표시줄이나 응용 프로그램 실행기와 같은 많은 다른 것들을 관리합니다. 타일링 창 관리자는 데스크탑 관리자의 대안이며 종종 더 작고 창 조작에 더 중점을 둡니다.

타일링 창 관리자 i3는 실제로 매우 가볍습니다. 저는 지금 10년 된 컴퓨터(Lenovo x220)에서 그것을 사용하고 있으며 속도가 느려지지 않습니다. 또한 사용이 간편하고 문서가 훌륭하며 가장 중요한 것은 (원하는 경우) 키보드로만 창을 관리할 수 있다는 것입니다.

i3의 기본은 간단합니다. 전체 화면을 나타내는 다른 작업 공간 에서 창을 열 수 있습니다. 이는 많은 Linux 데스크톱 관리자가 가지고 있는 가상 데스크톱과 매우 유사합니다. 그러면 즐겨찾는 앱을 열면 화면의 창 수에 따라 자동으로 화면이 공유됩니다.

예를 들어 Firefox를 열면 해당 창이 화면의 100%를 차지합니다. 세 개의 Firefox 인스턴스를 열면 각각 화면의 33%를 차지합니다.

파이어폭스 윈도우가 있는 i3
파이어폭스 윈도우가 있는 i3. (큰 미리보기)

창의 레이아웃을 변경할 수도 있습니다. 모든 창을 화면에 표시하는 대신 서로 쌓고 간단한 키 입력으로 창을 통과할 수 있습니다. "일반" 부동 창이 필요한 경우 구성할 수도 있습니다.

파이어폭스 윈도우가 쌓인 i3
파이어폭스 윈도우가 쌓인 i3. (큰 미리보기)

i3의 목표는 모든 창의 관리를 단순화하는 것입니다. 새 항목을 열 때마다 마우스를 사용하여 이동하고 크기를 조정하는 대신 필요한 경우에만 키 입력을 사용하여 동일한 작업을 수행할 수 있습니다.

너무 복잡해 보이죠? 나는 그것을 시도한 지 이틀 후에 i3로 효율적이었습니다. 나는 천재가 아니다. 내가 할 수 있다면 당신도 할 수 있습니다.

케이크 위의 체리: 이 기사에 설명된 모든 도구와 마찬가지로 i3와 해당 키 입력을 원하는 대로 사용자 지정할 수 있습니다 .

i3의 유일한 단점: macOS에서는 사용할 수 없습니다. 그러나 타일링 창 관리자 Amethyst 또는 Divvy와 같은 훌륭한 대안 이 있습니다.

URxvt, tmux 및 tmuxp를 사용하여 터미널 레벨 업

터미널은 쉘에 대한 액세스를 제공하는 인터페이스입니다. 셸이 실제 거래인 경우에도 몇 가지 도구를 사용하여 더 쉽게 사용할 수 있습니다.

URxvt를 통한 단순함의 길

나는 단순함을 좋아하며, 이것이 부분적으로 내가 이 기사에서 설명하는 개발 환경을 좋아하는 이유입니다. 말하자면 URxvt는 찾을 수 있는 가장 간단한 터미널 중 하나입니다. 또한 빠르고 안정적입니다. 6년 동안 충돌하거나 속도가 느려지는 것을 본 적이 없습니다. 그것은 해야 할 일을 합니다: 쉘을 사용할 수 있도록 합니다. 그 이상도 이하도 아닌.

tmux가 있는 터미널 멀티플렉서

URxvt의 단순함을 좋아하더라도 tmux와 같이 신뢰할 수 있는 좋은 터미널 멀티플렉서를 사용하는 것도 좋습니다.

터미널 멀티플렉서 란 무엇입니까? 여러 셸을 포함하는 세션을 열 수 있습니다 . 이러한 세션은 백그라운드에서 지속됩니다. 터미널이 충돌하거나 실수로 터미널을 닫더라도 쉘은 사라지지 않습니다. (아무 일도 일어나지 않은 것처럼) 원할 때마다 다른 터미널에서 복구할 수 있습니다.

이것은 로컬 컴퓨터에서 유용하지만 원격 서버에서는 훨씬 더 좋습니다. 예를 들어 SSH를 통해 서버에 연결하고 스크립트를 실행하고 SSH 연결과 로컬 시스템의 터미널을 닫고 집으로 돌아갈 수 있습니다. tmux 덕분에 셸이 서버에서 계속 실행되고 있기 때문에 스크립트도 계속 실행됩니다.

그게 다가 아닙니다. tmux는 좋은 의미에서 일종의 만능입니다. 하나의 터미널에서 여러 창을 포함하는 여러 창을 여는 데 사용할 수 있습니다. 창을 전체 터미널로 생각하고 창을 창의 백분율을 차지하는 셸로 생각할 수 있습니다.

i3가 생각나나요? 동일한 원칙을 따르지만 새 셸만 만들 수 있습니다. 이것이 i3에 만족하는 많은 사용자가 tmux를 사용하는 데 아무런 의미가 없다고 생각하는 이유입니다. 개인적으로 둘 다 사용하는 것을 좋아합니다.

4개의 창과 4개의 창이 있는 Tmux
4개의 창과 4개의 창이 있는 Tmux. (큰 미리보기)

항상 그렇듯이, 키보드로 tmux의 창과 창을 조작할 수 있으며 가장 원하는 대로 tmux 자체를 구성할 수 있습니다.

tmuxp

지금 개발 중인 애플리케이션에 tmux를 사용하고 싶다고 가정해 봅시다. 먼저 터미널을 열어야 합니다. 그런 다음 필요한 만큼 tmux의 창을 만들고 이 창을 원하는 창으로 분할해야 합니다.

기억하십시오 : 창은 셸을 나타냅니다. 이러한 각 셸에서 특정 프로젝트에 필요한 모든 CLI를 실행할 수 있습니다(예: 도커 컨테이너 실행 또는 일부 로그 표시).

그러나 이 모든 것을 자동화할 수도 있으며, 개발 환경의 맥락에서 tmux의 진정한 힘은 바로 여기에서 빛을 발합니다. tmuxp라는 다른 CLI를 사용하여 YAML 구성 파일에 원하는 창, 창 및 명령을 기록할 수 있습니다. 그런 다음 이 구성을 로드하고 사용자 정의된 tmux 세션을 자동으로 생성할 수 있습니다.

각 프로젝트에 대해 이러한 구성 파일 중 하나가 있습니다. 그것은 저에게 많은 시간과 에너지를 절약합니다. 위에서 말했듯이 이것은 쉘을 사용하는 주요 이점 중 하나입니다.

Editor Plus Shell은 IDE와 동일합니다.

셸은 매우 강력하기 때문에 에디터를 직접 실행하지 않는 이유는 무엇입니까? 왜 Vim을 사용하지 않습니까?

Arch Linux와 마찬가지로 Vim은 배우기 어렵다는 평판이 있습니다. 더 미묘합니다. 생산적으로 사용하는 것은 매우 쉽지만 마스터하는 데 오랜 시간이 걸립니다. Linux를 실행하고 Vim이 설치되어 있는 경우 셸에서 vimtutor 를 실행 하여 20분 만에 기본 사항을 배울 수 있습니다.

Vim은 수많은 플러그인으로 더 확장할 수 있는 많은 기능을 제공합니다. 또한 편집기에서 직접 원하는 CLI를 사용하여 Vim을 사용하여 셸과 직접 상호 작용할 수 있습니다. Vim을 완전한 IDE로 변환합니다.

Vim에는 또 다른 큰 장점이 있습니다. Vim을 사용하여 여러 프로그래밍 언어로 개발할 수 있습니다. PHP, Golang 또는 Clojure로 프로그래밍해야 할 때마다 다른 IDE 간에 전환하는 것을 좋아하지 않습니다. 인터페이스가 다르므로 이러한 각 편집기를 별도로 구성해야 하며 이러한 도구를 다시 설치할 때 다시 사용할 수 있도록 구성을 저장할 수 없습니다.

Vim을 사용 하면 같은 편집기에서 원하는 모든 언어로 코딩할 수 있습니다. VS Code와 마찬가지로 LSP(Language Server Providers)를 사용하여 가장 일반적인 프로그래밍 언어(및 더 난해한 언어)에 대한 자동 완성, 린트 및 자동 리팩토링을 활성화할 수 있습니다.

활동 중인 Vim
활동 중인 Vim. (큰 미리보기)

Vim도 빠릅니다. 실행하는 데 많은 리소스가 필요하지 않습니다. 나는 종종 문제 없이 기존 컴퓨터에서 6~7개의 편집기 인스턴스를 항상 열어 둡니다. 그에 비해 저는 IntelliJ IDE를 몇 년 동안 사용해 왔으며 그 중 두 개를 열었을 때 전체 시스템이 느려지기 시작했습니다. 예를 들어 여러 마이크로 서비스와 같이 동시에 다른 프로젝트에서 작업할 때 정말 실용적입니다.

Vim이 고도로 구성 가능 하다고 추가해야 합니까? IDE에 직접 많은 기능을 포함하는 대신(사용하지 않을 일부 기능 포함), 정확히 필요한 기능을 선택하고 필요하지 않은 기능은 버릴 수 있습니다.

일관된 키 입력 세트

Arch Linux가 내 Mouseless Development Environment의 기반이라면 i3, Zsh, tmux 및 Vim은 내 창의적 요구를 위한 워크벤치입니다. 다른 도구로는 경험하지 못한 수준의 편안함을 제공합니다.

그러나 이미 알고 있는 도구의 바로 가기를 이미 사용할 수 있는데 왜 이 모든 새로운 도구와 키 입력을 사용해야 하는지 궁금할 것입니다.

음, 대부분의 응용 프로그램의 바로 가기는 종종 의미가 없습니다 . 서로 관계가 없는 키의 수프입니다. 결과적으로 기억하기 어렵고 도구마다 상당히 다를 수 있습니다.

이 기사에서 설명하는 도구는 서로 잘 맞아야 합니다. 각각에 대해 거의 동일한 키 입력을 사용할 수 있습니다. 시스템이 어떤 도구를 사용하고 싶은지 알기 위해서는 하나의 키만 다릅니다. 다른 키 입력을 더 쉽게 기억할 수 있습니다.

또한 Vim은 신뢰할 수 있는 간단한 언어를 만들어 의미가 있는 키 입력을 갖도록 설계되었습니다. 예를 들어, 단어를 삭제하려면 daw 를 누르십시오. 단락을 삭제하려면 dap 입니다. 많은 CLI가 Vim의 키 입력을 기반으로 하기 때문에 Vim을 배우면 다른 많은 CLI에 대한 문이 열립니다 .

마우스 없는 개발 환경 자동 설치

Arch Linux를 수동으로 설치하는 것은 Linux 기반 시스템에 대해 많은 것을 배우기에 좋지만, 새 컴퓨터에 시스템을 설치하려고 할 때마다 해야 하는 경우에는 구식이 됩니다. 이것이 내가 전체 Mouseless 개발 환경을 설치하기 위해 나만의 스크립트를 만든 이유입니다. 그들은 Arch Linux뿐만 아니라 구성과 함께 사용하는 모든 도구를 설치합니다. 새 컴퓨터를 사용해야 할 때 이 스크립트를 실행하면 됩니다. 짜잔!

마우스 없는 개발자가 될 준비가 되셨습니까?

유연성 덕분에 개발 환경에서 도구를 쉽게 전환할 수도 있습니다. 예를 들어 tmux를 더 이상 사용하고 싶지 않다면 다른 터미널 멀티플렉서로 교체할 수 있습니다. i3의 상태 표시줄이나 응용 프로그램 실행기가 마음에 들지 않으면 교체할 수도 있습니다.

짐작하셨겠지만 이러한 종류의 시스템을 구성하려면 시간과 동기, 노력이 필요합니다 . 그래서 "마우스가 필요 없는 개발 환경 구축"이라는 책을 썼습니다. 모든 도구를 구성하는 방법, 하나의 명령으로 전체 시스템을 설치하는 스크립트를 만드는 방법, 개인 요구 사항에 맞게 모든 것을 사용자 지정하는 방법에 대해 자세히 설명합니다. Linux 셸에 대해 잘 모르는 경우 사용자 지정 프로젝트를 빌드하여 익숙해질 수 있습니다.

관심이 있는 경우 여기에서 책의 샘플과 전체 목차를 찾을 수 있습니다.

나는 당신이 이런 종류의 시스템을 원하는지 알아내는 가장 좋은 방법은 단순히 그것을 시도하는 것이라고 생각합니다. 한 가지 보장할 수 있습니다. 그 과정에서 많은 것을 배우게 될 것입니다!

Smashing Magazine에 대한 추가 정보

  • Chris Ashton, "키보드 하나로 하루 동안 웹을 사용했습니다."
  • "기계식 키보드에 대한 완전한 안내서", Ben Frain
  • "접근성에 대한 강력한 사례 만들기", Todd Libby
  • "Chrome DevTools의 접근성", Umar Hansa