In the vi editor on Unix/Linux, which command syntax performs a forward search for the pattern ‘‘pat’’ from the current cursor position?
-
A/pat
-
B:pat
-
C?pat
-
DAll of the above
-
ENone of the above
Answer
Correct Answer: /pat
Explanation
Introduction / Context:Searching efficiently inside the vi (or Vim) editor is a core skill for developers and administrators. Vi supports forward and backward incremental searches using concise keystrokes, enabling rapid navigation through large configuration files, logs, and source code.
Given Data / Assumptions:
- You are editing in command mode within vi.
- You wish to find the next occurrence of a text pattern 'pat'.
- Standard vi search conventions apply (case sensitivity may depend on options).
Concept / Approach:In vi, forward search uses a slash followed by the pattern. Backward search uses a question mark. The colon prefix introduces ex-commands (for example, :w, :q, :%s/old/new/g) and is not used for plain search initiation. After a search, n and N repeat the search in the same or opposite direction respectively.
Step-by-Step Solution:
Press / then type pat and hit Enter to search forward.Use n to jump to the next match forward, N to go to the previous match.Use ?pat to search backward if needed.Escape special characters or use \v (in Vim) for very magic regex modes.Verification / Alternative check:Open a file containing multiple 'pat' occurrences; invoke /pat and confirm the cursor jumps forward to each occurrence with n. Reverse direction using N to validate the behavior.
Why Other Options Are Wrong:
- :pat: The colon starts ex-commands; this is not the search syntax.
- ?pat: This triggers a backward search, not forward.
- All of the above: Mutually contradictory; only /pat is forward search.
Common Pitfalls:Remaining in insert mode (press Esc first), forgetting that searches are case-sensitive unless 'ignorecase' or 'smartcase' is set, or leaving metacharacters unescaped when they are interpreted as regex tokens.
Final Answer:/pat