# Cisco CLI Tips and Tricks

## Key Combinations

### Recalling Commands

|                |                                         |
| -------------- | --------------------------------------- |
| Ctrl+P or UP   | Moves backwards through command history |
| Ctrl+N or DOWN | Moves forward through command history   |

### Moving Cursor

| Key Combination | Result                                   |
| --------------- | ---------------------------------------- |
| Ctrl+B or LEFT  | Moves 1 character to the left (Backward) |
| Ctrl+F or RIGHT | Moves 1 character to the right (Forward) |
| ESC,B           | Moves 1 word to the left (Backward)      |
| ESC,F           | Moves 1 word to the right (Forward)      |
| Ctrl+A          | Moves to the beginning of the line       |
| Ctrl+E          | Moves to the end of the line             |

### Deleting Entries

| Key Combination  | Result                                                                    |
| ---------------- | ------------------------------------------------------------------------- |
| DEL or BACKSPACE | Deletes one character to the left of the cursor                           |
| Ctrl+D           | Deletes the character at the cursor                                       |
| Ctrl+K           | Deletes all the characters from the cursor to the end of the command line |
| Ctrl+U or Ctrl+X | Deletes all the characters from the beginning of the line to the cursor   |
| Ctrl+W           | Deletes the word to the left of the cursor                                |
| ESC,D            | Deletes from the cursor to the end of the word                            |

### Recalling Deleted Entries

| Key Combination | Result                                                                        |
| --------------- | ----------------------------------------------------------------------------- |
| Ctrl+Y          | Recalls the most recent characters deleted with Ctrl+X, Ctrl+K or Ctrl+U      |
| ESC,Y           | After recalling with Ctrl+Y, browse through the history of deleted characters |

### Other

|                  | Capitalizes the letter at the cursor                                                                                          |
| ---------------- | ----------------------------------------------------------------------------------------------------------------------------- |
| Ctrl+L or Ctrl+R | Transposes the character to the left of the cursor with the character to the right                                            |
| Ctrl+T           | Transposes the character to the left of the cursor with the character to the right                                            |
| ESC,C            | Capitalizes the letter at the cursor                                                                                          |
| ESC,L            | Changes the word at the cursor to lowercase                                                                                   |
| ESC,U            | Changes the word at the cursor to uppercase                                                                                   |
| Ctrl+V or ESC,Q  | Make the system accept the following key as a command, not asa an editing command – Useful for inserting “?” into the command |

## Limiting Output

When running a show command you can limit the output by only showing the lines that begin with, include or do not include a certain Regular Expression:

```
R# show COMMAND | {being|include|exclude} REGEX
```

When the output is long enough to generate a **-More-** line, you can filter the output using :

```
-More-
/REGEX
! Goes to the first match of Regular Expression
-REGEX
! Displays lines that do not contain the Regular Expression
+REGEX
! Displays lines that contain the Regular Expression
```

### Regular Expressions

Regular expressions define patterns of characters that are used to match lines in a text entry. Usually a character in the REGEX matches itself in a string, but there are some special characters or groups of characters that don’t match themselves:

| Character | Meaning                                                                                                                  |
| --------- | ------------------------------------------------------------------------------------------------------------------------ |
| .         | Matches a single character, including space                                                                              |
| \_        | Matches: , { } ( \_ space beginning-of-string end-of-string                                                              |
| \\        | Escape character used to match a special character                                                                       |
| Groups    |                                                                                                                          |
| \[LIST]   | Matches any character in the LIST. The LIST can be specified as an unordered group of characters and ranges, like a-dA-D |
| \[^LIST]  | Matches any character that is not part of the LIST.                                                                      |

A pattern can be a character or a group of characters between parenthesis (). Between parenthesis, a | acts as a logical OR. Patterns can be multiplied if followed by one of the Multiplier characters. Also, you can recall a pattern used once, if you use a \ followed by the number which indicates which pattern it is.

| (PATTERN)            | Matches the PATTERN                                                  |
| -------------------- | -------------------------------------------------------------------- |
| (PATTERN1\|PATTERN2) | Matches PATTERN1 or PATTERN2                                         |
| Multipliers          |                                                                      |
| \*                   | Matches 0 or more sequences of the pattern                           |
| +                    | Matches 1 or more sequences of the pattern                           |
| ?                    | Matches 0 or 1 sequences of the pattern                              |
| ^                    | Matches the beginning of string                                      |
| $                    | Matches end of the string                                            |
| \n                   | Recalls the n-th pattern and uses it again in the regular expression |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://ccie.nyquist.eu/network-optimization/cisco-cli-tips-and-tricks.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
