1. Tmux version check

The code depending on the tmux version.
Tmux 버전에 따라 작성할 코드가 달라진다.

tmux version check command

$ tmux -V

you can find your tmux version with this code.
위의 명령어를 통해 자신의 tmux 버전을 알 수 있다.

tmux version less than 2.1

if the version is less than 2.1, follow this.
2.1 미만의 버전일 경우 다음과 같이 수행한다.

make tmux.conf file.
$ vim ~/tmux.conf
code
set -g mode-mouse on

 

tmux version greater than 2.1

if the version is 2.1 or greater than 2.1, follow this.
2.1 이상의 버전일 경우 다음과 같이 수행한다.

make tmux.conf file.
$ vim ~/tmux.conf
code
set -g mouse on 

 

2. Usage of scroll

You cannot use without any tmux command.
tmux 명령어 없이는 바로 사용할 수 없다.

Ctrl + b + [

You can use scroll using mouse on tmux shell with this command.
tmux 쉘에서 이 명령어를 통해 마우스로 스크롤을 사용할 수 있다.

 

3. Example of usage

root@ubuntu:~# test1                                                       [7/7]

Command 'test1' not found, did you mean:                                        

  command 'test' from deb coreutils (8.30-1ubuntu1)                             
  command 'testr' from deb python3-testrepository (0.0.20-3)                    
  command 'testr' from deb python-testrepository (0.0.20-3)                     

Try: apt install <deb name>

root@ubuntu:~# test2

Command 'test2' not found, did you mean:

  command 'testr' from deb python3-testrepository (0.0.20-3)                   
  command 'testr' from deb python-testrepository (0.0.20-3)                    
  command 'test' from deb coreutils (8.30-1ubuntu1)                            

Try: apt install <deb name>

root@ubuntu:~#
root@ubuntu:~#
root@ubuntu:~#
root@ubuntu:~#
root@ubuntu:~#
root@ubuntu:~#
root@ubuntu:~#
root@ubuntu:~#

Sublime Text 3에 SFTP 하는 방법이 있다고 합니다.

Notepad++에도 있다고하는데, 여기서는 Sublime Text 3의 SFTP 설정 방법을 작성해보려고 합니다.


01. 패키지 설치

먼저 Sublime Text 3를 켜고 패키지를 설치해야 합니다.

설치하는 명령어는 다음과 같습니다.

 Windows : Ctrl + Shift + p

 MAC      : Command + Shift + p 


이후 [install]을 입력해주고 Enter를 클릭합니다.




Install을 선택하면 다음과 같은 화면이 나타납니다.




여기서 [SFTP]를 입력하면 다음과 같이 SFTP를 설치할 수 있는 것을 확인할 수 있습니다.




설치가 완료되면 다음과 같은 화면이 나타납니다.




02. SFTP와 연동

이제 SFTP와 연동할 폴더를 선택하여 서버와 연결해보도록 합시다.

먼저 [Add Folder to Project]를 클릭합니다.




그리고 우리가 연동할 폴더를 선택합니다.




연동하면 다음과 같이 옆에 [FOLDERS]가 생성되는데, 여기서 가장 위에 있는 폴더를 오른쪽 클릭합니다.

[우클릭] -> [SFTP/FTP] -> [Map to Remote...]를 클릭함



여기서 우리가 수정해줄 항목들입니다.



나름 다음과 같이 수정해보았습니다.

Sublime Text 3 특성상 영어로 쓰는 것이 부드러워서 설명도 영어로 작성했습니다...

설명을 덧붙이자면 다음과 같습니다.


sync_down_on_open : 파일을 열 때 싱크를 맞춥니다.

host : 연결할 아이피입니다.(저는 VMware로 했습니다.)

user : 호스트의 계정입니다.

password : 호스트의 계정의 비밀번호입니다.

port : SFTP 포트번호입니다. 일반적으로 SSH 서비스의 포트번호를 작성합니다.(물론 sshd_config 내에서 22번 포트로 열어둬야 합니다.)

remote_path : 연결한 뒤에 연동할 디렉토리 입니다.(여러분의 파일은 모두 해당 디렉토리에 올라갈 것입니다.)

file_permissions : 파일의 권한 설정입니다.

dir_permissions : 디렉토리의 권한 설정입니다.




이후 여러분이 파일을 수정하고 서버에 추가하고 싶다면 다음과 같은 방법으로 업로드하면 됩니다.

[오른쪽 클릭] -> [SFTP/FTP] -> [Sync Local -> Remote]


만약 단일 파일을 업로드하고자 한다면 다음과 같은 단축키를 사용하시면 됩니다.


[Ctrl] + [Alt] + [U] + [Y] 순서대로 클릭하시면 됩니다.

[Ctrl + Alt]는 동시에 눌러도 되지만, U와 Y는 반드시 순서대로 하십숑~~





SyntaxHighlighter v4에 대한 설치하는 법 입니다.

사실 이전에, SyntaxHighlighter v3를 사용하고 있었는데, 문득 v4가 나왔다는 것을 확인했습니다.

아무래도 v3와의 차이점은 크게 javascript 소스의 개수와 CSS 소스의 개수가 획기적으로 줄었다는 것 외에는 큰 차이는 없어보입니다.

다만, 지원되지 않는 기능이 몇 가지 있다는 것일 뿐...


제가 글을 작성하게된 계기는, v3의 기능을 공부해보려 했다가 v4가 흥미로워 넘어가게 되었습니다. 하하.

혹시 이미 SyntaxHighlighter를 설치하셨고, 보다 깔끔하게 활용하고 싶다면, 다음 링크를 살펴보시는 걸 추천합니다.

SyntaxHighlighter 메뉴얼


이제 각설하고, 본격적으로 설치방법으로 넘어가도록 하겠습니다.




01. 설치하기 전에 필요한 목록

먼저 설치를 하기 전에, 환경과 필요한 모듈의 목록을 소개하겠습니다.

설치를 위한 환경은 MAC OS가 아주 적절하지만, 저는 Ubuntu에서 설치를 수행했습니다.

제가 빌드를 수행했던 환경은 Ubuntu 18.04입니다.

운영체제

Ubuntu

( 권장 : Ubuntu 18.04 or Ubuntu 16.04 )

 필요한 모듈 목록

 Node.js

npm

git


먼저 우리가 필요한 목록을 설치해주기 앞서 업데이트를 해주도록 합시다.

npm의 경우는 Ubuntu에서 자체적으로 모듈이 설치할 수 있는 목록에 적용되지 않은 상태일 것입니다.

따라서 다음과 같은 설정을 해주셔야 합니다.

# sudo apt-get install curl

# curl -sL https://deb.nodesource.com/setup_6.x | bash -


만약 curl을 통해 nodejs에 대한 셋업이 되지 않으신다면 다음과 같이 에러를 체크해주시는 것도 좋은 방법입니다.

# sudo apt-get autoclean $$ apt-get clear cache 

혹은

# sudo rm -rf /var/lib/apt/*

# sudo apt-get update

저는 아래의 예제인 /var/lib/apt/*를 지워주고 업데이트를 수행해주니 오류가 해결되었습니다.




이제 설치를 위한 모듈들을 설치해보도록 합시다.

# sudo apt-get install -y git nodejs npm




02. Github에서 SyntaxHighlighter v4 다운로드

제가 사용하고 있는 SyntaxHighlighter v4는 사실 원래의 작성자가 아닌 다른 사용자가 수정해준 소스코드를 통해 빌드되었습니다.

원작자 : https://github.com/syntaxhighlighter/syntaxhighlighter.git

수정자 : https://github.com/karljacuncha/syntaxhighlighter.git

저는 두 번째 소스인 수정자의 소스를 이용하여 빌드하였습니다.


먼저 github에서 다운로드 하도록 합시다.

# git clone https://github.com/karljacuncha/syntaxhighlighter.git


이후 syntaxhighlighter라는 디렉토리가 생겼을 것입니다.

이제 여기서 해당 디렉토리에 들어가서 빌드를 시작하도록 합시다.

명령어는 다음과 같습니다.

# cd syntaxhighlighter

# ./node_modules/gulp/bin/gulp.js setup-project

# ./node_modules/gulp/bin/gulp.js build --brushes=all --theme=default


반드시 setup-project를 수행하고, 이후 build를 수행해주어야 합니다.

여기서 --brushes=all은 여러분께서 SyntaxHighlighter v3에서 사용한 모든 브러쉬 효과를 선택해주겠다는 의미입니다.

또한 --theme=default는 SyntaxHighlighter의 기본 테마를 설정해준다는 것입니다.


만약 빌드가 성공했다면, 이제 dist 디렉토리를 들어가보도록 합시다.

해당 디렉토리에서 다음과 같은 세 가지 파일이 생성되었다면 성공입니다.


theme.css

syntaxhighlighter.js

syntaxhighlighter.js.map


여러분의 티스토리에 혹은 워드프레스에 업로드하시면 됩니다.




03. SyntaxHighlighter v4 적용

여러분의 홈페이지나 블로그에 업로드하셨다면, 이제 적용해야 할 차례입니다.

빌드를 완료하셨다면, 이제 html head 부분에 다음과 같은 코드를 입력해주셔야 적용이됩니다.

아래의 코드를 적용해야 할 위치는 </head> 바로 위에 작성하시면 됩니다.

업로드하셔야 할 소스코드는 다음과 같습니다.

<!-- Syntax HighLighter V4-->
<link href="http://servername/syntaxhighlighter/theme.css" rel="stylesheet" type="text/css">
<script src="http://servername/syntaxhighlighter/syntaxhighlighter.js" type="text/javascript"></script>
<script src="http://servername/syntaxhighlighter/syntaxhighlighter.js.map" type="text/javascript"></script>

여기서 티스토리에 적용하시고자 하시는 분들께서는 조금 헷갈리실 수 있습니다.

servername/syntaxhighlighter/ 와 같은 부분은 티스토리에는 다르게 표현할 수 있습니다.

아래의 소스코드처럼 입력하시면 됩니다.

<!-- Syntax HighLighter V4-->
<link href="./images/theme.css" rel="stylesheet" type="text/css"/>
<script src="./images/syntaxhighlighter.js" type="text/javascript"></script>
<script src="./images/syntaxhighlighter.js.map" type="text/javascript"></script>

이제 SyntaxHighlighter v4가 적용될 것입니다.



보다 깔끔하고 멋진 표현을 위해 SyntaxHighlighter를 사용하고 싶으시면 다음 링크에서 메뉴얼을 살펴보시는 것을 추천합니다.

해당 메뉴얼은 SyntaxHighlighter v3, SyntaxHighlighter v4에서 모두 사용이 가능합니다.

단, collapse와 toolbar, smart-tabs의 기능은 v4에서 사용할 수 없습니다.(사용할 필요가 없는 기능은 삭제하거나 제대로 적용을 안 한 것 같습니다.)

SyntaxHighlighter 메뉴얼




이렇게 해서 설치 방법은 마무리하도록 하겠습니다.




'UTILITIES > SyntaxHighlighter' 카테고리의 다른 글

SyntaxHighlighter 매뉴얼(사용법)  (0) 2018.07.18


SyntaxHighlighter는 프로그램 소스를 좀 더 예쁘게 보여지도록 꾸며주는 효과가 있는 플러그인과 같습니다.

SyntaxHighlighter는 또한 현재까지 사용되고 있는 버전인 3.x와 현재 새로 만들어진 버전 4.x로 구분되어 있습니다.

여기서는 버전 3과 4의 메뉴얼의 구분이 없기 때문에, 한 번에 작성하였습니다.

단, 버전 4는 smart-tabs, toolbar, collapse가 제대로 동작하지 않습니다.

toolbar는 현재 버전 4에서는 아예 삭제되었습니다.




01. SyntaxHighlighter 명령어 요약

SyntaxHighlighter의 기본 명령어에 대한 설명을 시작으로 각각 하나씩 설명해보려 합니다.

일단 기본 명령어들은 다음과 같습니다.


이름


설명

 auto-links

true

URL을 클릭할 수 있도록 해주는 옵션입니다.

켜고 끌 수 있으며 기본으로 true(클릭시 URL로 이동)이 설정되어있습니다.

 class-name

' '

페이지에 생성될 모든 Highlighter 요소에 사용자 정의 클래스(혹은 여러 클래스)를 추가할 수 있습니다.

 collapse

 false

SyntaxHighlighter로 작성된 부분의 영역을 접었다 펴는 기능입니다.

기본적으로 접혀있지 않은 형태로 제공됩니다.

 first-line

 1

첫 번째 시작 라인 번호를 지정해주는 것입니다.

기본적으로 1로 지정되어있습니다.

 gutter

 true

줄 번호를 켜고 끄는 기능을 사용하는 것입니다.

기본적으로 켜져 있습니다.

 highlight

 null

어떠한 행의 번호를 선택하여 강조해주는 기능입니다.

기본적으로 번호가 지정되지 않아 꺼져있는 상태입니다.

 html-script

 false

HTML / XML 코드와 웹 개발에서 매우 공통적인 스크립트를 혼합하여 강조 표시를 할 수 있습니다.

 smart-tabs

 true

스마트 탭 기능을 켜고 끌 수 있습니다.

 tab-size

 4

탭(tab)의 사이즈를 지정해줍니다.

기본적으로 4로 되어있습니다.

 toolbar

 true

툴바 기능을 On/Off 해주는 기능입니다.


각각의 명령어에 대한 설명은 예제와 함께 작성해보도록 하겠습니다.


여기서 Source는 여러분께서 티스토리 혹은 워드프레스에 HTML로 작성할 소스를 말합니다.

여기서 Result는 여러분께서 티스토리 혹은 워드프레스에 Source를 작성했을 때 보여지는 결과로 나오는 것을 말합니다.




02. SyntaxHighlighter - auto-links

auto-links는 여러분께서 작성한 코드에 URL이 있을 경우, 그 URL에 클릭을 했을 시에 그 링크로 들어가지는 기능을 말합니다.

기본적으로 true 값으로 설정되어있으며, 이는 기본적으로 링크를 클릭했을 때 그 링크로 들어가지게끔 해준다는 의미입니다.

이제 예제를 보도록 하겠습니다.


Source

<pre class="brush: php; auto-links: false">
  /** https://kkamikoon.tistory.com */
  'https://kkamikoon.tistory.com'
</pre>


Result

  /** https://kkamikoon.tistory.com */
  'https://kkamikoon.tistory.com'


해당 예제에서는 auto-links를 false로 지정해주었습니다.

즉, 링크처럼 보이는 주소를 클릭해도 해당 주소로 들어가지지 않습니다.

하지만, Source에 있는 주소는 클릭이 되는 것을 볼 수 있습니다.




03. SyntaxHighlighter - class-name

class-name은 페이지에 생성될 모든 Highlighter 요소에 사용자 정의 클래스(혹은 여러 클래스)를 추가할 수 있습니다.

여러분께서 임의로 만들어낸 클래스를 SyntaxHighlighter 박스에 적용할 수 있다는 의미입니다.

기본으로는 ' ' 라고 되어있는데, 이는 작성된 클래스가 없이 SyntaxHighlighter가 적용된다는 것입니다.

만약 여기에 여러분이 정의할 새로운 클래스를 작성한다면, 모든 박스에 적용됩니다.

이제 예제를 보도록 하겠습니다.


Source

<style>
.class_name_demo { border: 5px solid #000; }
</style>

<pre class="brush: php; class-name: 'class_name_demo'">
  /** https://kkamikoon.tistory.com */
  'https://kkamikoon.tistory.com'
</pre>


Result

    /** https://kkamikoon.tistory.com */
    'https://kkamikoon.tistory.com'


예제의 Result를 확인해보시면 5px의 크기의 선들이 박스를 감싸고 있는 것을 볼 수 있습니다.

이는 우리가 만든 class_name_demo의 기능이 SyntaxHighlighter에 적용된 것을 볼 수 있습니다.

이 기능을 활용하여 여러분께서는 각각의 SyntaxHighlighter가 적용된 곳에 여러분의 임의의 클래스를 적용할 수 있습니다.




04. SyntaxHighlighter - collapse

collapse는 SyntaxHighlighter로 작성된 부분의 영역을 접었다 펴는 기능입니다.

이는 티스토리나 다른 워드프레스 및 블로그에서 자체적으로 접는 기능이 없더라도, 접을 수 있도록 도와주는 역할을 합니다.

기본적으로는 접히지 않은 형태로 출력되도록 false가 적용되어있습니다.

이제 예제를 보도록 합시다.


Source

<pre class="brush: php; collapse: true">
    Hello kkamikoon's world!
    This is collapsed code!!
    If you clicked 'expand source', you can see this.
</pre>


Result

    Hello kkamikoon's world!
    This is collapsed code!!
    If you clicked 'expand source', you can see this.


위의 Result를 살펴보시면 결과가 나타나지 않는 것을 볼 수 있습니다.

원래는 expand source라는 클릭 버튼이 있고, 이를 클릭하면 펼쳐지는 형태이지만, 제대로 동작하지 않는 것 같습니다.

현재 제가 사용하고 있는 버전은 SyntaxHighlighter v4이며, v3과 차이가 있습니다.



05. SyntaxHighlighter - first-line

first-line은 SyntaxHighlighter를 이용하여 작성한 소스소크드 줄번호의 시작번호를 지정해주는 기능입니다.

기본적으로 시작 번호는 1로 지정되어있습니다.

바로 예제를 보도록 합시다.


Source

<pre class="brush: php; first-line: 10">
    this is now tenth line,
    and this is eleventh!
</pre>


Result

  this is now tenth line,
  and this is eleventh!

여기서 Result의 결과를 살펴보면, 첫 번째 줄 번호가 10인 것을 볼 수 있습니다.

즉, 우리가 지정한 first-line에 10을 지정해주었기 때문에, 시작 번호가 10으로 변경되는 것입니다.

여기서 여러분께서는 소스코드의 시작 번호를 따로 지정해줄 수 있습니다.




06. SyntaxHighlighter - gutter

gutter는 줄 번호를 켜고 끄는 기능입니다.

기본적으로는 줄 번호가 표시되도록 설정되어있지만, 사용자가 임의로 설정을 끌 수 있습니다.

예제를 보도록 합시다.


Source

<pre class="brush: php; gutter: false;">
   /** https://kkamikoon.tistory.com *.
   'https://kkamikoon.tistory.com'
</pre>


Result

/** https://kkamikoon.tistory.com *.
'https://kkamikoon.tistory.com'


위의 Result를 확인하시면, 줄 번호가 사라진 것을 확인할 수 있습니다.

이제 기본 소스코드를 수정하여 모든 소스코드의 줄 번호를 삭제해줄 수도 있고, 줄 번호를 SyntaxHighlighter가 적용되는 곳마다 다르게 설정해줄 수도 있게됩니다.




07. SyntaxHighlighter - highlight

highlight는 어떠한 행의 번호를 선택하여 특정한 부분을 강조해주는 기능입니다.

기본적으로는 모든 영역이 강조되지 않은 상태로 설정되어있지만, 이 기능을 이용하면 특정 행의 번호를 강조해줄 수 있습니다.

이제 예제를 보도록 합시다.


Source

<pre class="brush: php; highlight: 2">
   line No.1
   line No.2
   line No.3
</pre>


<pre class="brush: php; highlight: [1, 3]">
   line No.1
   line No.2
   line No.3
</pre>


Result

line No.1
line No.2
line No.3


line No.1
line No.2
line No.3


위의 Result를 볼 때 첫 번째 예제는 줄 번호 2번을 강조하였고, 두 번째 예제는 줄 번호 1, 3번을 강조하였습니다.

즉, 줄을 하나 뿐만 아니라 여러 개의 줄 번호를 강조해줄 수 있다는 것입니다.

이 기능을 통해 설명하고자 하는 영역을 강조해보는 건 어떨까 합니다.




08. SyntaxHighlighter - html-script

html-script는 HTML / XML 코드와 웹 개발에서 매우 공통적인 스크립트를 혼합하여 강조 표시를 할 수 있는 기능입니다.

이는 예제를 통해 설명하도록 하겠습니다.


Source

<pre class="brush: php; html-script: true">
  <html>
  <body>
      <div style="font-weight: bold"><?= str_replace("\n", "<br/>", $var) ?></div>
 
      <?
      /***********************************
       ** Multiline block comments
       **********************************/
 
      $stringWithUrl = "http://alexgorbatchev.com";
      $stringWithUrl = 'http://alexgorbatchev.com';
 
      ob_start("parseOutputBuffer");      // Start Code Buffering
      session_start();
      ?>
  </body>
  </html>
</pre>



Result

html-script: true

  
  <html>
  <body>
      <div style="font-weight: bold"><?= str_replace("\n", "<br/>", $var) ?></div>
 
      <?
      /***********************************
       ** Multiline block comments
       **********************************/
 
      $stringWithUrl = "http://alexgorbatchev.com";
      $stringWithUrl = 'http://alexgorbatchev.com';
 
      ob_start("parseOutputBuffer");      // Start Code Buffering
      session_start();
      ?>
  </body>
  </html>


html-script: false

  
  <html>
  <body>
      <div style="font-weight: bold"><?= str_replace("\n", "<br/>", $var) ?></div>
 
      <?
      /***********************************
       ** Multiline block comments
       **********************************/
 
      $stringWithUrl = "http://alexgorbatchev.com";
      $stringWithUrl = 'http://alexgorbatchev.com';
 
      ob_start("parseOutputBuffer");      // Start Code Buffering
      session_start();
      ?>
  </body>
  </html>

위의 Result는 true일 때와 false일 때를 구분하여 작성해보았습니다.

true일 때와 false일 때의 차이는 눈썰미가 좋으신 분은 바로 보였을 것입니다.

html-script를 true적용을 했을 때 구문이 마치 좀 더 웹 소스코드처럼 보이도록 강조해주는 효과가 있는 것을 볼 수 있습니다.

만약 웹 소스코드를 작성하실 때 php로 작성하더라도 소스코드가 이쁘지 않다면, html-script를 true로 해보면 좋을 것 같습니다.




09. SyntaxHighlighter - smart-tabs

smart-tabs는 스마트 탭을 On/Off를 적용하는 기능입니다.

이는 예제를 통해 설명하도록 하겠습니다.


Source

smart-tabs: true

<pre class="brush: php; smart-tabs: true">
	hello there!	  ya!
	hello	ya!
</pre>

smart-tabs: false

<pre class="brush: php; smart-tabs: false">
	hello there!	  ya!
	hello	ya!
</pre>


Result

smart-tabs: true

	hello there!	  ya!
	hello	ya!

smart-tabs: false

	hello there!	  ya!
	hello	ya!


위의 Result를 보시면 별 차이점을 볼 수 없습니다. 기본적으로 대부분 smart-tabs을 요즘 지원하고 있는 형태이기 때문입니다.

여러분은 아마 SyntaxHighlighter에서 smart-tabs를 false로 끌 일이 없으실 것입니다.

어쩌면 꺼도 효과가 안 나타날 수 있습니다.




10. SyntaxHighlighter - tab-size

tab-size는 탭의 크기를 지정해주는 기능입니다.

tab-size는 기본적으로 띄어쓰기 4개 즉, 4로 지정되어있습니다.

예제를 보도록 합시다.


Source

tab-size: 4

<pre class="brush: js; tab-size: 4">
	123	123	123
	1	2	3
</pre>

tab-size: 8

<pre class="brush: js; tab-size: 8">
	123	123	123
	1	2	3
</pre>

Result

tab-size: 4

	123	123	123
	1	2	3

tab-size: 8

	123	123	123
	1	2	3






11. SyntaxHighlighter - toolbar

toolbar는 툴바 기능을 On/Off해주는 기능입니다.

이 기능은 사실상 사용하지 않은 기능인 것 같습니다.

눈에 띄는 효과가 없어 보입니다.




여기까지 해서 SyntaxHighlighter의 기능을 알아보았습니다.





'UTILITIES > SyntaxHighlighter' 카테고리의 다른 글

SyntaxHighlighter v4 설치 방법 - Ubuntu  (1) 2018.07.19

+ Recent posts