2019년 1월 3일 목요일

GUI 환경과 다른 점

물론 Emacs GUI 인터페이스는 마우스 및 데스크탑 환경 정보를 이용가능하지만 텍스트 기반의 TUI 상에서 주로 작업하게 되었고 GUI 환경에서의 버릇으로 적응하는데 어려운 점이 있었으나 습관을 바꾸는 과정에서 얻게 된 이점이 많았음

스크롤


마우스 휠 스크롤을 이용해 자연스럽게 문서를 위 아래로 이동하고 스크롤바의 위치로 찾고자 하는 위치를 가늠하는 식의 행동이 습관화 되어있어서 emacs 사용시 마우스 및 스크롤바 지원이 약한 부분에서 늘 막다른 골목에 다다른 느낌이었다

적응하기 위해 방법을 찾다가 차츰 컨텐츠 내용과 줄번호를 지표로 원하는 위치를 찾는 습관을 들이게 됨

Emacs 확장 기능에 편의 기능이 존재할 수도 있겠으나 찾아보지는 않음

단점은 물론 직관적이지 않다고 할수 있겠으나 의외로 습관을 고쳐서 장점이 더 많다고 봄

예를 들어 GUI IDE 사용시 대부분 컴파일 에러 위치를 클릭하면 해당 소스로 곧바로 이동하게 되어 실제 에러 정보 상에 표시되는 기본 정보들을 소홀히 하는 경우가 많으나 해당 출력 정보를 유심히 보게 되면서 컴파일 출력 정보를 제대로 이해하는 것 하나로도 문제의 원인이나 해결 방법을 가늠할 수 있다는 점을 알게됨

특히 개발 경험이 적을 때 IDE 로 개발하는 경우 컴파일 경고 및 에러 문구 필터링 기능을 이용해 경고 문구는 무시하도록 설정해 놓고 컴파일 에러만 집중해서 수정하는 관습을 갖는 경우를 많이 보이는데 실제 일반 사용자에게 프로그램을 배포해 보거나 집중 테스트 수행시 찾아낸 많은 문제들이 컴파일 경고를 적절하게 처리하지 않아 발생하는 문제들이 많이 있음

컴파일 경고는 실행에 문제 없으니 괜찮으면 넘어가라는 관용의 문구가 아니라 어떻게 처리할지 모르겠으니 당신이 고민하라는 지시로 여기게 됨

컴파일 에러 및 경고 문구에는 문제의 종류 및 문제가 발생한 소스 코드의 위치, 호출 순서 등의 정보를 담고 있음

문제의 종류는 일반적으로 사람이 읽을 수 있는 문구나 에러 번호로 출력되고 해당 문구나 에러 번호를 인터넷에 검색하면 다른 사람들이 이미 겪은 문제에 대한 해답을 찾을 수 있음

여기서 이미 문제 해결에 대한 많은 실마리가 풀리는 경우가 많았고 소스 코드를 보거나 하는 경우는 본인의 문제로 스스로 해결해야 하는 부분

IDE 에 익숙한 동료를 보면 컴파일 에러 또는 사용자 이슈 보고서의 에러 구문을 통한 문제를 직면했을 때 컴퓨터가 출력한 로그의 내용을 파악하기 보다는 먼저 문제가 발생한 소스로 이동해 소스 코드 상의 앞뒤를 살피는 일부터 하는 경우를 많이 보게됨

여기서 문제는 방법이 잘못된 것이 아니라 순서가 잘못된 것이고 컴퓨터 전원 플러그를 꽂지도 않고 전원 버튼의 원리와 전자 기기 전문 서적을 뒤져보느라 시간 낭비하는 식의 경우가 반복되는 사례

결론적으로 편리한 기능인 스크롤에 길들여져 있는 습관에서 벗어나 출력문에 충실하고 컴파일러 수행이 순차적으로 동작한다는 기본 전제를 다시금 새롭게 인식하게 되었으며 개발하는데 수월함을 얻는 또다른 방법을 터득하게 됨


마우스 클릭 및 선택


마우스로 해당 위치를 클릭하고 끌어서 놓기 동작으로 문구를 선택하고 복사 붙여넣기 하는 일은 직관적이며 자주 수행하는 동작

그러나 늘 클릭한 위치는 원하는 위치에서 한자 앞 또는 뒤에 클릭이 되고 선택은 정교하지 않고 결국 마우스로 대강 끌어놓고 키보드로 한자 앞 뒤로 이동하는 식의 방법까지 사용

이 부분에 있어서는 커서를 위치시키고 선택하는데 있어서는 분명히 emacs 처럼 키보드 조작만으로 수행하는 편이 손도 덜 왔다 갔다 하며 정확하고 빠르게 작업할 수 있음

단, 한가지 들여야 할 습관은 컨텐츠 내용으로 문서의 원하는 위치를 찾아가는 습관과 줄번호 등의 수치적 정보를 활용한 컨텐츠 탐색 방법을 습득해야 더 빠르게 작업할 수 있음

참고: C-Space - 선택 모드 토글

예를 들어 단어 단위 이동 M-fM-b 페이지 단위 이동 C-vM-v 줄 맨 앞 또는 맨 위로 이동 C-aC-e 그리고 앞에 여백 무시하고 첫 글자로 이동 M-m 등의 단축키 사용에 익숙해 지면 좋음

선택 모드 상태에서 C-s <검색 키워드> 로 찾기 동작시 해당 위치까지 선택되는 등 선택 모드 상태와 여타 동작 연계를 터득하게 되면 오히려 마우스로 무언가 선택하는 일이 부담스러워 짐


댓글 없음:

댓글 쓰기