그리고 무작위로 나는 위에서도, 중간에서도, 아래에서도 의미하지 않습니다. 검색은 무작위로 정렬된 결과를 반환해야 합니다.
예를 들어, vi 편집기에서 "실패"를 검색하고 있습니다. 무작위로 정렬된 결과를 원합니다.
n 또는 N(또는 다른 키)을 누르면 무작위로 정렬된 메시지를 받아야 합니다.
답변1
무작위로 일치하는 항목을 찾는 가장 쉬운 방법은 검색을 수행한 다음 임의의 숫자를 입력하고 n
또는 N
(무작위?)를 누르는 것입니다. 이것은 모든 vi 변형에서 작동합니다.
매우 간단한 의사 난수 생성기는 다음을 선택하는 것입니다.중간 사이즈~을 위한질소M과 N이 상대적으로 소수인 항의 경우 "임의의" 시작 값(S)을 선택한 후 (S+M)%N이 다음 값이 됩니다. 일반적으로 M이 N보다 커지기를 원합니다. N과 M 사이에 공통 인수가 있는 경우 가능한 모든 항목을 포함하지 않는 루프가 생성될 수 있습니다. 최상의 성능을 위해서는 M이 N/2와 3N/2 사이여야 합니다.
따라서 추가적인 이점을 위해 적당히 큰 소수(아마도 일치하는 수에 대한 추측보다 클 수 있음)를 선택하고 이를 n
vi의 별칭 키에 할당할 수 있습니다. 그러면 모든 일치 항목을 "무작위로" 반복하는 명령이 제공됩니다.